Commit 51b85031 authored by Simon Marlow's avatar Simon Marlow

Fix the symbol visibility pragmas

parent a998343d
......@@ -57,15 +57,7 @@ extern "C" {
#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
#if __GNUC__ > 4
#if __GNUC__ >= 4
#define RTS_UNLIKELY(p) __builtin_expect((p),0)
#else
#define RTS_UNLIKELY(p) p
......
#if __GNUC__ >= 4
#pragma GCC visibility push(hidden)
#endif
......@@ -25,7 +25,7 @@
#include "Task.h"
#include "Sparks.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
struct Capability_ {
// State required by the STG virtual machine when running Haskell
......@@ -357,6 +357,6 @@ INLINE_HEADER rtsBool emptyInbox(Capability *cap)
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* CAPABILITY_H */
#if __GNUC__ >= 4
#pragma GCC visibility pop
#endif
......@@ -9,7 +9,7 @@
#ifndef FRONTPANEL_H
#define FRONTPANEL_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
#ifdef RTS_GTK_FRONTPANEL
......@@ -33,7 +33,7 @@ extern gboolean continue_now, stop_now, quit;
#endif /* RTS_GTK_FRONTPANEL */
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* FRONTPANEL_H */
......@@ -9,7 +9,7 @@
#ifndef GETTIME_H
#define GETTIME_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
// 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);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* GETTIME_H */
......@@ -9,7 +9,7 @@
#ifndef HASH_H
#define HASH_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
typedef struct hashtable HashTable; /* abstract */
......@@ -47,7 +47,7 @@ void freeHashTable ( HashTable *table, void (*freeDataFun)(void *) );
void exitHashTable ( void );
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* HASH_H */
......@@ -6,7 +6,7 @@
*
* --------------------------------------------------------------------------*/
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
nat messageBlackHole(Capability *cap, MessageBlackHole *msg);
......@@ -15,4 +15,4 @@ void executeMessage (Capability *cap, Message *m);
void sendMessage (Capability *from_cap, Capability *to_cap, Message *msg);
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
......@@ -8,7 +8,7 @@
#ifndef PAPI_H
#define PAPI_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/* 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);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* PAPI_H */
......@@ -9,7 +9,7 @@
#ifndef PRINTER_H
#define PRINTER_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
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
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* PRINTER_H */
......@@ -9,7 +9,7 @@
#ifndef PROFHEAP_H
#define PROFHEAP_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
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);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* PROFHEAP_H */
......@@ -11,7 +11,7 @@
#include <stdio.h>
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
void initProfiling1 (void);
void freeProfiling1 (void);
......@@ -37,6 +37,6 @@ void debugCCS( CostCentreStack *ccs );
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* PROFILING_H */
......@@ -9,7 +9,7 @@
#ifndef PROFTIMER_H
#define PROFTIMER_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
void initProfTimer ( void );
void handleProfTick ( void );
......@@ -24,6 +24,6 @@ void startHeapProfTimer ( void );
extern rtsBool performHeapProfile;
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* PROFTIMER_H */
......@@ -14,7 +14,7 @@
#ifndef CMINUSMINUS
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
void throwToSingleThreaded (Capability *cap,
StgTSO *tso,
......@@ -64,7 +64,7 @@ interruptible(StgTSO *t)
}
}
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* CMINUSMINUS */
......
......@@ -14,7 +14,7 @@
#include "RetainerSet.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
void initRetainerProfiling ( void );
void endRetainerProfiling ( void );
......@@ -43,7 +43,7 @@ retainerSetOf( StgClosure *c )
extern lnat retainerStackBlocks ( void );
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* PROFILING */
......
......@@ -14,7 +14,7 @@
#ifdef PROFILING
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/*
Type 'retainer' defines the retainer identity.
......@@ -199,7 +199,7 @@ void outputAllRetainerSet(FILE *);
// the best place to define it.
void printRetainer(FILE *, retainer);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* PROFILING */
#endif /* RETAINERSET_H */
......@@ -25,7 +25,7 @@
#if RTS_USER_SIGNALS
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/*
* Function: initUserSignals()
......@@ -60,7 +60,7 @@ void awaitUserSignals(void);
*/
void markSignalHandlers (evac_fn evac, void *user);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* RTS_USER_SIGNALS */
......
......@@ -9,7 +9,7 @@
#ifndef RTSUTILS_H
#define RTSUTILS_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/* -----------------------------------------------------------------------------
* (Checked) dynamic allocation
......@@ -48,6 +48,6 @@ int genericRaise(int sig);
int rts_isProfiled(void);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* RTSUTILS_H */
......@@ -40,7 +40,7 @@
#define STM_UNIPROC
#endif
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/*----------------------------------------------------------------------
......@@ -225,7 +225,7 @@ void stmWriteTVar(Capability *cap,
/*----------------------------------------------------------------------*/
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* STM_H */
......@@ -14,7 +14,7 @@
#include "Capability.h"
#include "Trace.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/* initScheduler(), exitScheduler()
* Called from STG : no
......@@ -214,7 +214,7 @@ emptyThreadQueues(Capability *cap)
#endif /* !IN_STG_CODE */
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SCHEDULE_H */
......@@ -11,7 +11,7 @@
#include "WSDeque.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/* typedef for SparkPool in RtsTypes.h */
......@@ -65,6 +65,6 @@ INLINE_HEADER void discardSparks (SparkPool *pool)
#endif // THREADED_RTS
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SPARKS_H */
......@@ -17,7 +17,7 @@
#include "sm/GC.h" // for evac_fn below
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
void freeStablePtr ( StgStablePtr sp );
......@@ -33,6 +33,6 @@ void updateStablePtrTable ( rtsBool full );
void stablePtrPreGC ( void );
void stablePtrPostGC ( void );
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* STABLE_H */
......@@ -11,7 +11,7 @@
#include "GetTime.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
void stat_startInit(void);
void stat_endInit(void);
......@@ -63,6 +63,6 @@ void statsPrintf( char *s, ... )
HsInt64 getAllocations (void);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* STATS_H */
......@@ -9,7 +9,7 @@
#ifndef STGPRIMFLOAT_H
#define STGPRIMFLOAT_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/* 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.
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* STGPRIMFLOAT_H */
......@@ -14,7 +14,7 @@
#include "GetTime.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/*
Definition of a Task
......@@ -270,6 +270,6 @@ setMyTask (Task *task)
#endif
}
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* TASK_H */
......@@ -10,7 +10,7 @@
#ifndef THREADLABELS_H
#define THREADLABELS_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
#if defined(DEBUG)
void initThreadLabelTable (void);
......@@ -21,6 +21,6 @@ void removeThreadLabel (StgWord key);
void labelThread (StgPtr tso, char *label);
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* THREADLABELS_H */
......@@ -9,7 +9,7 @@
#ifndef THREADS_H
#define THREADS_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
#define END_BLOCKED_EXCEPTIONS_QUEUE ((MessageThrowTo*)END_TSO_QUEUE)
......@@ -48,6 +48,6 @@ void printAllThreads (void);
void printThreadQueue (StgTSO *t);
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* THREADS_H */
......@@ -9,7 +9,7 @@
#ifndef TICKER_H
#define TICKER_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
typedef void (*TickProc)(int);
......@@ -18,6 +18,6 @@ void startTicker (void);
void stopTicker (void);
void exitTicker (rtsBool wait);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* TICKER_H */
......@@ -16,7 +16,7 @@
#include "RtsProbes.h"
#endif /* defined(DTRACE) */
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
// -----------------------------------------------------------------------------
// EventLog API
......@@ -397,6 +397,6 @@ INLINE_HEADER void traceEventGcDone(Capability *cap STG_UNUSED)
dtraceGcDone((EventCapNo)cap->no);
}
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* TRACE_H */
......@@ -10,7 +10,7 @@
#define UPDATES_H
#ifndef CMINUSMINUS
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
#endif
/* -----------------------------------------------------------------------------
......@@ -173,7 +173,7 @@ INLINE_HEADER void updateWithIndirection (Capability *cap,
#endif /* CMINUSMINUS */
#ifndef CMINUSMINUS
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif
#endif /* UPDATES_H */
......@@ -11,7 +11,7 @@
#include "Capability.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
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);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* WEAK_H */
......@@ -12,7 +12,7 @@
#include "rts/EventLogFormat.h"
#include "Capability.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
#ifdef TRACING
......@@ -66,6 +66,6 @@ INLINE_HEADER void postCapMsg (Capability *cap STG_UNUSED,
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* TRACING_H */
......@@ -13,7 +13,7 @@
# include <signal.h>
#endif
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
rtsBool anyUserHandlers(void);
......@@ -28,7 +28,7 @@ Capability *ioManagerStartCap (Capability *cap);
extern StgInt *signal_handlers;
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* POSIX_SIGNALS_H */
......@@ -9,7 +9,7 @@
#ifndef BLOCK_ALLOC_H
#define BLOCK_ALLOC_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/* Debugging -------------------------------------------------------------- */
......@@ -26,6 +26,6 @@ void reportUnmarkedBlocks (void);
extern lnat n_alloc_blocks; // currently allocated blocks
extern lnat hw_alloc_blocks; // high-water allocated blocks
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* BLOCK_ALLOC_H */
......@@ -14,7 +14,7 @@
#ifndef SM_COMPACT_H
#define SM_COMPACT_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
INLINE_HEADER void
mark(StgPtr p, bdescr *bd)
......@@ -48,6 +48,6 @@ is_marked(StgPtr p, bdescr *bd)
void compact (StgClosure *static_objects);
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SM_COMPACT_H */
......@@ -14,7 +14,7 @@
#ifndef SM_EVAC_H
#define SM_EVAC_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
// 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;
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SM_EVAC_H */
......@@ -14,7 +14,7 @@
#ifndef SM_GC_H
#define SM_GC_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
void GarbageCollect(rtsBool force_major_gc, nat gc_type, Capability *cap);
......@@ -53,6 +53,6 @@ void releaseGCThreads (Capability *cap);
#define WORK_UNIT_WORDS 128
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SM_GC_H */
......@@ -16,7 +16,7 @@
#include "WSDeque.h"
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
/* -----------------------------------------------------------------------------
General scheme
......@@ -276,7 +276,7 @@ extern StgWord8 the_gc_thread[];
#endif
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif // SM_GCTHREAD_H
......@@ -14,7 +14,7 @@
#ifndef SM_GCUTILS_H
#define SM_GCUTILS_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
bdescr *allocBlock_sync(void);
void freeChain_sync(bdescr *bd);
......@@ -61,6 +61,6 @@ recordMutableGen_GC (StgClosure *p, nat gen_no)
*bd->free++ = (StgWord)p;
}
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SM_GCUTILS_H */
......@@ -14,7 +14,7 @@
#ifndef SM_MARKSTACK_H
#define SM_MARKSTACk_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
INLINE_HEADER void
push_mark_stack(StgPtr p)
......@@ -66,6 +66,6 @@ mark_stack_empty(void)
return (((W_)mark_sp & BLOCK_MASK) == 0 && mark_stack_bd->link == NULL);
}
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SM_MARKSTACK_H */
......@@ -14,7 +14,7 @@
#ifndef SM_MARKWEAK_H
#define SM_MARKWEAK_H
BEGIN_RTS_PRIVATE
#include "BeginPrivate.h"
extern StgWeak *old_weak_ptr_list;
extern StgTSO *resurrected_threads;
......@@ -24,6 +24,6 @@ void initWeakForGC ( void );
rtsBool traverseWeakPtrList ( void );
void markWeakPtrList ( void );
END_RTS_PRIVATE
#include "EndPrivate.h"
#endif /* SM_MARKWEAK_H */
......@@ -9,7 +9,7 @@
#ifndef SM_OSMEM_H
#define SM_OSMEM_H
BEGIN_RTS_PRIVATE