From 7d7c187b4a12f1bb350e85cdb0115e19537cc704 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Wed, 5 Aug 2009 10:21:59 +0000 Subject: Declare RTS-private prototypes with __attribute__((visibility("hidden"))) This has no effect with static libraries, but when the RTS is in a shared library it does two things: - it prevents the function from being exposed by the shared library - internal calls to the function can use the faster non-PLT calls, because the function cannot be overriden at link time. --- rts/Ticker.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'rts/Ticker.h') diff --git a/rts/Ticker.h b/rts/Ticker.h index a39e7d69c1..159820d399 100644 --- a/rts/Ticker.h +++ b/rts/Ticker.h @@ -9,11 +9,15 @@ #ifndef TICKER_H #define TICKER_H +#pragma GCC visibility push(hidden) + typedef void (*TickProc)(int); -extern void initTicker (nat ms, TickProc handle_tick); -extern void startTicker (void); -extern void stopTicker (void); -extern void exitTicker (void); +void initTicker (nat ms, TickProc handle_tick); +void startTicker (void); +void stopTicker (void); +void exitTicker (void); + +#pragma GCC visibility pop #endif /* TICKER_H */ -- cgit v1.2.1