diff options
-rw-r--r-- | rts/Printer.c | 11 | ||||
-rw-r--r-- | rts/package.conf.in | 4 | ||||
-rw-r--r-- | rts/rts.cabal.in | 16 |
3 files changed, 18 insertions, 13 deletions
diff --git a/rts/Printer.c b/rts/Printer.c index 7f7e83cb8b..291f529e8f 100644 --- a/rts/Printer.c +++ b/rts/Printer.c @@ -24,8 +24,6 @@ #include <string.h> -void findPtr(P_ p, int follow); - #if defined(DEBUG) #include "Disassembler.h" @@ -777,6 +775,8 @@ extern void DEBUG_LoadSymbols( const char *name STG_UNUSED ) #endif /* USING_LIBBFD */ +void findPtr(P_ p, int); /* keep gcc -Wall happy */ + int searched = 0; static int @@ -876,12 +876,7 @@ void printObj( StgClosure *obj ) debugBelch("obj 0x%p (enable -DDEBUG for more info) " , obj ); } -void findPtr(P_ p, int follow) -{ - // we're printing the arguments just to silence the unused parameter warning - debugBelch("recompile your program with -debug in order to run "); - debugBelch("findPtr(0x%p, %d)\n", p, follow); -} + #endif /* DEBUG */ /* ----------------------------------------------------------------------------- diff --git a/rts/package.conf.in b/rts/package.conf.in index b6dac767fb..b5ed26d39e 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -174,9 +174,11 @@ ld-options: #if WORD_SIZE_IN_BITS == 64 , "-Wl,-u,_hs_atomicwrite64" #endif +#if defined(DEBUG) /* This symbol is useful in gdb, but not referred to anywhere, * so we need to force it to be included in the binary. */ , "-Wl,-u,_findPtr" +#endif #else "-Wl,-u,base_GHCziTopHandler_runIO_closure" , "-Wl,-u,base_GHCziTopHandler_runNonIO_closure" @@ -275,10 +277,12 @@ ld-options: #if WORD_SIZE_IN_BITS == 64 , "-Wl,-u,hs_atomicwrite64" #endif +#if defined(DEBUG) /* This symbol is useful in gdb, but not referred to anywhere, * so we need to force it to be included in the binary. */ , "-Wl,-u,findPtr" #endif +#endif /* Pick up static libraries in preference over dynamic if in earlier search * path. This is important to use the static gmp in preference on Mac OS. diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in index 76fd353134..a20aa57186 100644 --- a/rts/rts.cabal.in +++ b/rts/rts.cabal.in @@ -260,9 +260,13 @@ library "-Wl,-u,_hs_atomicwrite8" "-Wl,-u,_hs_atomicwrite16" "-Wl,-u,_hs_atomicwrite32" - -- This symbol is useful in gdb, but not referred to anywhere, - -- so we need to force it to be included in the binary. "-Wl,-u,_findPtr" + + if flag(debug) + -- This symbol is useful in gdb, but not referred to anywhere, + -- so we need to force it to be included in the binary. + ld-options: "-Wl,-u,_findPtr" + else ld-options: "-Wl,-u,base_GHCziTopHandler_runIO_closure" @@ -333,9 +337,11 @@ library "-Wl,-u,hs_atomicwrite8" "-Wl,-u,hs_atomicwrite16" "-Wl,-u,hs_atomicwrite32" - -- This symbol is useful in gdb, but not referred to anywhere, - -- so we need to force it to be included in the binary. - "-Wl,-u,findPtr" + + if flag(debug) + -- This symbol is useful in gdb, but not referred to anywhere, + -- so we need to force it to be included in the binary. + ld-options: "-Wl,-u,_findPtr" if os(osx) ld-options: "-Wl,-search_paths_first" |