Declare RTS-private prototypes with __attribute__((visibility("hidden")))
authorSimon Marlow <marlowsd@gmail.com>
Wed, 5 Aug 2009 10:21:59 +0000 (10:21 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 5 Aug 2009 10:21:59 +0000 (10:21 +0000)
commit7d7c187b4a12f1bb350e85cdb0115e19537cc704
tree2bfcb2d4e6ebacce3e80dd8fa454452aa76c0049
parentacdd7c95066cf6505a4d2e8683f119146805af91
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.
57 files changed:
includes/rts/Flags.h
rts/Apply.h
rts/Arena.h
rts/AwaitEvent.h
rts/Capability.h
rts/Disassembler.h
rts/FrontPanel.h
rts/GetTime.h
rts/Globals.h
rts/Hash.h
rts/Interpreter.h
rts/LdvProfile.h
rts/Papi.h
rts/Printer.h
rts/ProfHeap.h
rts/Profiling.h
rts/Proftimer.h
rts/RaiseAsync.h
rts/RetainerProfile.h
rts/RetainerSet.h
rts/RtsMain.h
rts/RtsSignals.h
rts/RtsUtils.h
rts/STM.h
rts/Sanity.h
rts/Schedule.h
rts/Sparks.h
rts/Stable.h
rts/Stats.h
rts/StgPrimFloat.h
rts/StgRun.h
rts/Task.h
rts/ThreadLabels.h
rts/ThreadPaused.h
rts/Threads.h
rts/Ticker.h
rts/Ticky.h
rts/Timer.h
rts/Trace.h
rts/Updates.h
rts/Weak.h
rts/eventlog/EventLog.h
rts/posix/FileLock.h
rts/posix/Itimer.h
rts/posix/Signals.h
rts/posix/TTY.h
rts/sm/BlockAlloc.h
rts/sm/Compact.h
rts/sm/Evac.h
rts/sm/GC.h
rts/sm/GCThread.h
rts/sm/GCUtils.h
rts/sm/MarkWeak.h
rts/sm/OSMem.h
rts/sm/Scav.h
rts/sm/Storage.h
rts/sm/Sweep.h