diff options
41 files changed, 99 insertions, 82 deletions
diff --git a/includes/Rts.h b/includes/Rts.h index 3bec799585..753a66436b 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -51,7 +51,19 @@ extern "C" { // Symbols that are extern, but private to the RTS, are declared // with visibility "hidden" to hide them outside the RTS shared // library. +#if !defined(mingw32_HOST_OS) #define RTS_PRIVATE GNUC3_ATTRIBUTE(visibility("hidden")) +#else +#define RTS_PRIVATE /* disabled: RTS_PRIVATE */ +#endif + +#if __GNUC__ > 4 +#define BEGIN_RTS_PRIVATE #pragma GCC visibility push(hidden) +#define END_RTS_PRIVATE #pragma GCC visibility pop +#else +#define BEGIN_RTS_PRIVATE /* disabled: BEGIN_RTS_PRIVATE */ +#define END_RTS_PRIVATE /* disabled: END_RTS_PRIVATE */ +#endif /* Fix for mingw stat problem (done here so it's early enough) */ #ifdef mingw32_HOST_OS diff --git a/rts/Capability.h b/rts/Capability.h index 6fdc002049..3f01bf3d88 100644 --- a/rts/Capability.h +++ b/rts/Capability.h @@ -22,7 +22,7 @@ #include "Task.h" #include "Sparks.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE struct Capability_ { // State required by the STG virtual machine when running Haskell @@ -332,6 +332,6 @@ contextSwitchCapability (Capability *cap) cap->context_switch = 1; } -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* CAPABILITY_H */ diff --git a/rts/FrontPanel.h b/rts/FrontPanel.h index 07508aa403..fba97e15ee 100644 --- a/rts/FrontPanel.h +++ b/rts/FrontPanel.h @@ -9,7 +9,7 @@ #ifndef FRONTPANEL_H #define FRONTPANEL_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE #ifdef RTS_GTK_FRONTPANEL @@ -33,7 +33,7 @@ extern gboolean continue_now, stop_now, quit; #endif /* RTS_GTK_FRONTPANEL */ -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* FRONTPANEL_H */ diff --git a/rts/GetTime.h b/rts/GetTime.h index 11da641164..03e1f171be 100644 --- a/rts/GetTime.h +++ b/rts/GetTime.h @@ -9,7 +9,7 @@ #ifndef GETTIME_H #define GETTIME_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE // We'll use a fixed resolution of usec for now. The machine // dependent implementation may have a different resolution, but we'll @@ -25,6 +25,6 @@ void getProcessTimes (Ticks *user, Ticks *elapsed); // Not strictly timing, but related nat getPageFaults (void); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* GETTIME_H */ diff --git a/rts/Hash.h b/rts/Hash.h index c5eec37552..1099b8f334 100644 --- a/rts/Hash.h +++ b/rts/Hash.h @@ -9,7 +9,7 @@ #ifndef HASH_H #define HASH_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE typedef struct hashtable HashTable; /* abstract */ @@ -47,7 +47,7 @@ void freeHashTable ( HashTable *table, void (*freeDataFun)(void *) ); void exitHashTable ( void ); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* HASH_H */ diff --git a/rts/Papi.h b/rts/Papi.h index 8658d8ccac..f8acab7a4b 100644 --- a/rts/Papi.h +++ b/rts/Papi.h @@ -8,7 +8,7 @@ #ifndef PAPI_H #define PAPI_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* Check the error value of a PAPI call, reporting an error, if needed */ extern int papi_error; @@ -31,6 +31,6 @@ void papi_stop_gc1_count(void); void papi_thread_start_gc1_count(int event_set); void papi_thread_stop_gc1_count(int event_set); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* PAPI_H */ diff --git a/rts/Printer.h b/rts/Printer.h index fd89aa073a..ca0cadb19c 100644 --- a/rts/Printer.h +++ b/rts/Printer.h @@ -9,7 +9,7 @@ #ifndef PRINTER_H #define PRINTER_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE extern void printPtr ( StgPtr p ); extern void printObj ( StgClosure *obj ); @@ -34,7 +34,7 @@ extern const char *lookupGHCName( void *addr ); extern char *what_next_strs[]; #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* PRINTER_H */ diff --git a/rts/ProfHeap.h b/rts/ProfHeap.h index b781235c77..cda29ad092 100644 --- a/rts/ProfHeap.h +++ b/rts/ProfHeap.h @@ -9,7 +9,7 @@ #ifndef PROFHEAP_H #define PROFHEAP_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void heapCensus (void); nat initHeapProfiling (void); @@ -17,6 +17,6 @@ void endHeapProfiling (void); void LDV_recordDead (StgClosure *c, nat size); rtsBool strMatchesSelector (char* str, char* sel); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* PROFHEAP_H */ diff --git a/rts/Profiling.h b/rts/Profiling.h index 87d81e2f9b..764e467b41 100644 --- a/rts/Profiling.h +++ b/rts/Profiling.h @@ -11,7 +11,7 @@ #include <stdio.h> -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void initProfiling1 (void); void freeProfiling1 (void); @@ -37,6 +37,6 @@ void debugCCS( CostCentreStack *ccs ); #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* PROFILING_H */ diff --git a/rts/Proftimer.h b/rts/Proftimer.h index 7d4295642d..a3cfc8bbd3 100644 --- a/rts/Proftimer.h +++ b/rts/Proftimer.h @@ -9,7 +9,7 @@ #ifndef PROFTIMER_H #define PROFTIMER_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void initProfTimer ( void ); void handleProfTick ( void ); @@ -24,6 +24,6 @@ void startHeapProfTimer ( void ); extern rtsBool performHeapProfile; -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* PROFTIMER_H */ diff --git a/rts/RaiseAsync.h b/rts/RaiseAsync.h index 52a0aa4bf0..96eb96e10b 100644 --- a/rts/RaiseAsync.h +++ b/rts/RaiseAsync.h @@ -9,12 +9,13 @@ #ifndef RAISEASYNC_H #define RAISEASYNC_H -#pragma GCC visibility push(hidden) - #define THROWTO_SUCCESS 0 #define THROWTO_BLOCKED 1 #ifndef CMINUSMINUS + +BEGIN_RTS_PRIVATE + void throwToSingleThreaded (Capability *cap, StgTSO *tso, StgClosure *exception); @@ -66,9 +67,9 @@ interruptible(StgTSO *t) } } -#endif /* CMINUSMINUS */ +END_RTS_PRIVATE -#pragma GCC visibility pop +#endif /* CMINUSMINUS */ #endif /* RAISEASYNC_H */ diff --git a/rts/RetainerProfile.h b/rts/RetainerProfile.h index 7278dc7465..9736eeb8d6 100644 --- a/rts/RetainerProfile.h +++ b/rts/RetainerProfile.h @@ -14,7 +14,7 @@ #include "RetainerSet.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void initRetainerProfiling ( void ); void endRetainerProfiling ( void ); @@ -43,7 +43,7 @@ retainerSetOf( StgClosure *c ) extern lnat retainerStackBlocks ( void ); #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* PROFILING */ diff --git a/rts/RetainerSet.h b/rts/RetainerSet.h index cbf8c1d9b0..e3d3acd38c 100644 --- a/rts/RetainerSet.h +++ b/rts/RetainerSet.h @@ -14,7 +14,7 @@ #ifdef PROFILING -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* Type 'retainer' defines the retainer identity. @@ -199,7 +199,7 @@ void outputAllRetainerSet(FILE *); // the best place to define it. void printRetainer(FILE *, retainer); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* PROFILING */ #endif /* RETAINERSET_H */ diff --git a/rts/RtsSignals.h b/rts/RtsSignals.h index b222272e12..f31a0ac1d6 100644 --- a/rts/RtsSignals.h +++ b/rts/RtsSignals.h @@ -25,7 +25,7 @@ #if RTS_USER_SIGNALS -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* * Function: initUserSignals() @@ -60,7 +60,7 @@ void awaitUserSignals(void); */ void markSignalHandlers (evac_fn evac, void *user); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* RTS_USER_SIGNALS */ diff --git a/rts/RtsUtils.h b/rts/RtsUtils.h index cbf23b06d5..e47dbb9110 100644 --- a/rts/RtsUtils.h +++ b/rts/RtsUtils.h @@ -9,7 +9,7 @@ #ifndef RTSUTILS_H #define RTSUTILS_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* ----------------------------------------------------------------------------- * (Checked) dynamic allocation @@ -48,6 +48,6 @@ int genericRaise(int sig); int rts_isProfiled(void); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* RTSUTILS_H */ @@ -40,7 +40,7 @@ #define STM_UNIPROC #endif -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /*---------------------------------------------------------------------- @@ -232,7 +232,7 @@ void stmWriteTVar(Capability *cap, /*----------------------------------------------------------------------*/ -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* STM_H */ diff --git a/rts/Sanity.h b/rts/Sanity.h index f27c395c44..96ac6c534f 100644 --- a/rts/Sanity.h +++ b/rts/Sanity.h @@ -11,7 +11,7 @@ #ifdef DEBUG -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE # if defined(PAR) # define PVM_PE_MASK 0xfffc0000 @@ -36,7 +36,7 @@ void checkMutableLists ( rtsBool checkTSOs ); void checkBQ (StgTSO *bqe, StgClosure *closure); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* DEBUG */ diff --git a/rts/Schedule.h b/rts/Schedule.h index 1214fd8784..2dd4acd0d9 100644 --- a/rts/Schedule.h +++ b/rts/Schedule.h @@ -14,7 +14,7 @@ #include "Capability.h" #include "Trace.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* initScheduler(), exitScheduler() * Called from STG : no @@ -241,7 +241,7 @@ emptyThreadQueues(Capability *cap) #endif /* !IN_STG_CODE */ -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SCHEDULE_H */ diff --git a/rts/Sparks.h b/rts/Sparks.h index 25affbbe55..33aa818aab 100644 --- a/rts/Sparks.h +++ b/rts/Sparks.h @@ -11,7 +11,7 @@ #include "WSDeque.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* typedef for SparkPool in RtsTypes.h */ @@ -65,6 +65,6 @@ INLINE_HEADER void discardSparks (SparkPool *pool) #endif // THREADED_RTS -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SPARKS_H */ diff --git a/rts/Stable.h b/rts/Stable.h index b1b25ff62f..ebabee7ad0 100644 --- a/rts/Stable.h +++ b/rts/Stable.h @@ -17,7 +17,7 @@ #include "sm/GC.h" // for evac_fn below -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void freeStablePtr ( StgStablePtr sp ); @@ -33,6 +33,6 @@ void updateStablePtrTable ( rtsBool full ); void stablePtrPreGC ( void ); void stablePtrPostGC ( void ); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* STABLE_H */ diff --git a/rts/Stats.h b/rts/Stats.h index 234d64c7e3..f13221546e 100644 --- a/rts/Stats.h +++ b/rts/Stats.h @@ -11,7 +11,7 @@ #include "GetTime.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void stat_startInit(void); void stat_endInit(void); @@ -61,6 +61,6 @@ Ticks stat_getElapsedTime(void); void statsPrintf( char *s, ... ) GNUC3_ATTRIBUTE(format (printf, 1, 2)); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* STATS_H */ diff --git a/rts/StgPrimFloat.h b/rts/StgPrimFloat.h index f0e466b76b..3f5b3e5013 100644 --- a/rts/StgPrimFloat.h +++ b/rts/StgPrimFloat.h @@ -9,7 +9,7 @@ #ifndef STGPRIMFLOAT_H #define STGPRIMFLOAT_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* grimy low-level support functions defined in StgPrimFloat.c */ void __decodeDouble_2Int (I_ *man_sign, W_ *man_high, W_ *man_low, I_ *exp, StgDouble dbl); @@ -21,6 +21,6 @@ StgFloat __word_encodeFloat (W_ j, I_ e); // __int_encodeDouble and __int_encodeFloat are public, declared in // includes/rts/PrimFloat.h. -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* STGPRIMFLOAT_H */ diff --git a/rts/Task.h b/rts/Task.h index b18bcfb600..9b5f0253cd 100644 --- a/rts/Task.h +++ b/rts/Task.h @@ -11,7 +11,7 @@ #include "GetTime.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* Definition of a Task @@ -261,6 +261,6 @@ taskEnter (Task *task) setMyTask(task); } -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* TASK_H */ diff --git a/rts/ThreadLabels.h b/rts/ThreadLabels.h index 550e2869e3..bd516a1de3 100644 --- a/rts/ThreadLabels.h +++ b/rts/ThreadLabels.h @@ -10,7 +10,7 @@ #ifndef THREADLABELS_H #define THREADLABELS_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE #if defined(DEBUG) void initThreadLabelTable (void); @@ -21,6 +21,6 @@ void removeThreadLabel (StgWord key); void labelThread (StgPtr tso, char *label); #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* THREADLABELS_H */ diff --git a/rts/Threads.h b/rts/Threads.h index e58b0db993..8e0ee264f4 100644 --- a/rts/Threads.h +++ b/rts/Threads.h @@ -9,7 +9,7 @@ #ifndef THREADS_H #define THREADS_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE StgTSO * unblockOne (Capability *cap, StgTSO *tso); StgTSO * unblockOne_ (Capability *cap, StgTSO *tso, rtsBool allow_migrate); @@ -29,6 +29,6 @@ void printAllThreads (void); void printThreadQueue (StgTSO *t); #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* THREADS_H */ diff --git a/rts/Ticker.h b/rts/Ticker.h index 159820d399..3e62622d5d 100644 --- a/rts/Ticker.h +++ b/rts/Ticker.h @@ -9,7 +9,7 @@ #ifndef TICKER_H #define TICKER_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE typedef void (*TickProc)(int); @@ -18,6 +18,6 @@ void startTicker (void); void stopTicker (void); void exitTicker (void); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* TICKER_H */ diff --git a/rts/Trace.h b/rts/Trace.h index 3ab6df456c..702a51ec72 100644 --- a/rts/Trace.h +++ b/rts/Trace.h @@ -12,7 +12,7 @@ #include "rts/EventLogFormat.h" #include "Capability.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE // ----------------------------------------------------------------------------- // Posting events @@ -186,6 +186,6 @@ INLINE_HEADER void traceThreadStatus (StgWord32 class STG_UNUSED, #endif /* TRACING */ -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* TRACE_H */ diff --git a/rts/Updates.h b/rts/Updates.h index 3b37409476..988fb6059f 100644 --- a/rts/Updates.h +++ b/rts/Updates.h @@ -9,7 +9,9 @@ #ifndef UPDATES_H #define UPDATES_H -#pragma GCC visibility push(hidden) +#ifndef CMINUSMINUS +BEGIN_RTS_PRIVATE +#endif /* ----------------------------------------------------------------------------- Updates @@ -228,6 +230,8 @@ no_slop: } #endif /* CMINUSMINUS */ -#pragma GCC visibility pop +#ifndef CMINUSMINUS +END_RTS_PRIVATE +#endif #endif /* UPDATES_H */ diff --git a/rts/Weak.h b/rts/Weak.h index 2c831d830e..a931b054cc 100644 --- a/rts/Weak.h +++ b/rts/Weak.h @@ -11,7 +11,7 @@ #include "Capability.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE extern rtsBool running_finalizers; extern StgWeak * weak_ptr_list; @@ -21,7 +21,7 @@ void runAllCFinalizers(StgWeak *w); void scheduleFinalizers(Capability *cap, StgWeak *w); void markWeakList(void); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* WEAK_H */ diff --git a/rts/eventlog/EventLog.h b/rts/eventlog/EventLog.h index 9f3388e421..e2ee13ac11 100644 --- a/rts/eventlog/EventLog.h +++ b/rts/eventlog/EventLog.h @@ -12,7 +12,7 @@ #include "rts/EventLogFormat.h" #include "Capability.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE #ifdef TRACING @@ -56,6 +56,6 @@ INLINE_HEADER void postCapMsg (Capability *cap, #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* TRACING_H */ diff --git a/rts/posix/Signals.h b/rts/posix/Signals.h index 30bc63ee46..4d0a5a5fc7 100644 --- a/rts/posix/Signals.h +++ b/rts/posix/Signals.h @@ -13,7 +13,7 @@ # include <signal.h> #endif -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE rtsBool anyUserHandlers(void); @@ -26,7 +26,7 @@ void startSignalHandlers(Capability *cap); extern StgInt *signal_handlers; -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* POSIX_SIGNALS_H */ diff --git a/rts/sm/BlockAlloc.h b/rts/sm/BlockAlloc.h index 86836e40b4..00efeb4bbc 100644 --- a/rts/sm/BlockAlloc.h +++ b/rts/sm/BlockAlloc.h @@ -9,7 +9,7 @@ #ifndef BLOCK_ALLOC_H #define BLOCK_ALLOC_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* Debugging -------------------------------------------------------------- */ @@ -23,6 +23,6 @@ void reportUnmarkedBlocks (void); extern lnat n_alloc_blocks; // currently allocated blocks extern lnat hw_alloc_blocks; // high-water allocated blocks -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* BLOCK_ALLOC_H */ diff --git a/rts/sm/Compact.h b/rts/sm/Compact.h index 1e89ad36a8..7fe15e5667 100644 --- a/rts/sm/Compact.h +++ b/rts/sm/Compact.h @@ -14,7 +14,7 @@ #ifndef SM_COMPACT_H #define SM_COMPACT_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE INLINE_HEADER rtsBool mark_stack_empty(void) @@ -78,6 +78,6 @@ is_marked(StgPtr p, bdescr *bd) void compact (StgClosure *static_objects); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_COMPACT_H */ diff --git a/rts/sm/Evac.h b/rts/sm/Evac.h index ca5032f772..52346b1fd2 100644 --- a/rts/sm/Evac.h +++ b/rts/sm/Evac.h @@ -14,7 +14,7 @@ #ifndef SM_EVAC_H #define SM_EVAC_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE // Use a register argument for evacuate, if available. // Earlier, the regparm attribute was used whenever __GNUC__ >= 2, but this @@ -37,7 +37,7 @@ REGPARM1 void evacuate1 (StgClosure **p); extern lnat thunk_selector_depth; -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_EVAC_H */ diff --git a/rts/sm/GC.h b/rts/sm/GC.h index 2435c6cd4b..4b928e9bfa 100644 --- a/rts/sm/GC.h +++ b/rts/sm/GC.h @@ -14,7 +14,7 @@ #ifndef SM_GC_H #define SM_GC_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void GarbageCollect(rtsBool force_major_gc, nat gc_type, Capability *cap); @@ -58,6 +58,6 @@ void releaseGCThreads (Capability *cap); #define WORK_UNIT_WORDS 128 -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_GC_H */ diff --git a/rts/sm/GCThread.h b/rts/sm/GCThread.h index 44ea537cda..d2459fd96b 100644 --- a/rts/sm/GCThread.h +++ b/rts/sm/GCThread.h @@ -16,7 +16,7 @@ #include "WSDeque.h" -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* ----------------------------------------------------------------------------- General scheme @@ -272,7 +272,7 @@ extern StgWord8 the_gc_thread[]; #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif // SM_GCTHREAD_H diff --git a/rts/sm/GCUtils.h b/rts/sm/GCUtils.h index c8f8d55c60..7fafe51ba2 100644 --- a/rts/sm/GCUtils.h +++ b/rts/sm/GCUtils.h @@ -14,7 +14,7 @@ #ifndef SM_GCUTILS_H #define SM_GCUTILS_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE bdescr *allocBlock_sync(void); void freeChain_sync(bdescr *bd); @@ -61,6 +61,6 @@ recordMutableGen_GC (StgClosure *p, nat gen_no) *bd->free++ = (StgWord)p; } -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_GCUTILS_H */ diff --git a/rts/sm/MarkWeak.h b/rts/sm/MarkWeak.h index 7fd81e536b..018dd6cd79 100644 --- a/rts/sm/MarkWeak.h +++ b/rts/sm/MarkWeak.h @@ -14,7 +14,7 @@ #ifndef SM_MARKWEAK_H #define SM_MARKWEAK_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE extern StgWeak *old_weak_ptr_list; extern StgTSO *resurrected_threads; @@ -25,6 +25,6 @@ rtsBool traverseWeakPtrList ( void ); void markWeakPtrList ( void ); rtsBool traverseBlackholeQueue ( void ); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_MARKWEAK_H */ diff --git a/rts/sm/OSMem.h b/rts/sm/OSMem.h index 92fe350045..ee6b810f39 100644 --- a/rts/sm/OSMem.h +++ b/rts/sm/OSMem.h @@ -9,7 +9,7 @@ #ifndef SM_OSMEM_H #define SM_OSMEM_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void osMemInit(void); void *osGetMBlocks(nat n); @@ -17,6 +17,6 @@ void osFreeAllMBlocks(void); lnat getPageSize (void); void setExecutable (void *p, lnat len, rtsBool exec); -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_OSMEM_H */ diff --git a/rts/sm/Scav.h b/rts/sm/Scav.h index 259fe1289a..ad466c8488 100644 --- a/rts/sm/Scav.h +++ b/rts/sm/Scav.h @@ -14,7 +14,7 @@ #ifndef SM_SCAV_H #define SM_SCAV_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE void scavenge_loop (void); void scavenge_mutable_list (bdescr *bd, generation *gen); @@ -26,7 +26,7 @@ void scavenge_mutable_list1 (bdescr *bd, generation *gen); void scavenge_capability_mut_Lists1 (Capability *cap); #endif -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_SCAV_H */ diff --git a/rts/sm/Storage.h b/rts/sm/Storage.h index 573d6bcd5b..5ddcbdcdc2 100644 --- a/rts/sm/Storage.h +++ b/rts/sm/Storage.h @@ -9,7 +9,7 @@ #ifndef SM_STORAGE_H #define SM_STORAGE_H -#pragma GCC visibility push(hidden) +BEGIN_RTS_PRIVATE /* ----------------------------------------------------------------------------- Initialisation / De-initialisation @@ -156,6 +156,6 @@ void move_TSO (StgTSO *src, StgTSO *dest); extern StgClosure * caf_list; extern StgClosure * revertible_caf_list; -#pragma GCC visibility pop +END_RTS_PRIVATE #endif /* SM_STORAGE_H */ |