diff options
author | 2014-07-10 19:31:50 +0000 | |
---|---|---|
committer | 2014-07-10 19:31:50 +0000 | |
commit | 8d07bb47b138c77adc723f0283b44d910415a99b (patch) | |
tree | cdeee21d103263b701a874b4eab2204a54600faf /dev-lang/ghc/files | |
parent | Mask fresh ghc-7.8.3. (diff) | |
download | historical-8d07bb47b138c77adc723f0283b44d910415a99b.tar.gz historical-8d07bb47b138c77adc723f0283b44d910415a99b.tar.bz2 historical-8d07bb47b138c77adc723f0283b44d910415a99b.zip |
Version bump.
Package-Manager: portage-2.2.10_p15/cvs/Linux x86_64
Manifest-Sign-Key: 0x611FF3AA
Diffstat (limited to 'dev-lang/ghc/files')
-rw-r--r-- | dev-lang/ghc/files/ghc-7.8.1_rc1-libbfd.patch | 81 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-7.8.2-cgen-constify.patch | 34 | ||||
-rw-r--r-- | dev-lang/ghc/files/ghc-7.8.2-ia64-no-shared.patch | 18 |
3 files changed, 133 insertions, 0 deletions
diff --git a/dev-lang/ghc/files/ghc-7.8.1_rc1-libbfd.patch b/dev-lang/ghc/files/ghc-7.8.1_rc1-libbfd.patch new file mode 100644 index 000000000000..d01cb49affbd --- /dev/null +++ b/dev-lang/ghc/files/ghc-7.8.1_rc1-libbfd.patch @@ -0,0 +1,81 @@ +commit bb5953484579968c984d074ca1af5d21e1c9e7a0 +Author: Sergei Trofimovich <slyfox@gentoo.org> +Date: Mon Feb 10 12:45:58 2014 +0300 + + rts: unrust 'libbfd' debug symbols parser + + Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> + +diff --git a/configure.ac b/configure.ac +index e7fbc7f..e47979c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -801,7 +801,8 @@ fi + dnl ** check whether this machine has BFD and libiberty installed (used for debugging) + dnl the order of these tests matters: bfd needs libiberty + AC_CHECK_LIB(iberty, xmalloc) +-AC_CHECK_LIB(bfd, bfd_uncompress_section_contents) ++dnl 'bfd_init' is a rare non-macro in libbfd ++AC_CHECK_LIB(bfd, bfd_init) + + dnl ################################################################ + dnl Check for libraries +diff --git a/rts/Printer.c b/rts/Printer.c +index ca9ca49..ce02b02 100644 +--- a/rts/Printer.c ++++ b/rts/Printer.c +@@ -48,6 +48,9 @@ void printPtr( StgPtr p ) + raw = lookupGHCName(p); + if (raw != NULL) { + printZcoded(raw); ++ /* it can be just a C symbol, like 'stg_returnToStackTop' */ ++ debugBelch("<%s>", raw); ++ debugBelch("[%p]", p); + } else { + debugBelch("%p", p); + } +@@ -794,7 +797,7 @@ static void printZcoded( const char *raw ) + disabling this for now. + */ + #ifdef USING_LIBBFD +- ++#include "../mk/config.h" /* silly BFD's requirement */ + #include <bfd.h> + + /* Fairly ad-hoc piece of code that seems to filter out a lot of +@@ -863,7 +866,10 @@ extern void DEBUG_LoadSymbols( char *name ) + for( i = 0; i != number_of_symbols; ++i ) { + symbol_info info; + bfd_get_symbol_info(abfd,symbol_table[i],&info); +- /*debugBelch("\t%c\t0x%x \t%s\n",info.type,(nat)info.value,info.name); */ ++ if (0) ++ { ++ debugBelch("\t%c\t0x%x \t%s\n",info.type,(nat)info.value,info.name); ++ } + if (isReal(info.type, info.name)) { + num_real_syms += 1; + } +diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c +index aa7306f..5bdef94 100644 +--- a/rts/RtsStartup.c ++++ b/rts/RtsStartup.c +@@ -19,6 +19,7 @@ + #include "RtsFlags.h" + #include "RtsUtils.h" + #include "Prelude.h" ++#include "Printer.h" /* DEBUG_LoadSymbols */ + #include "Schedule.h" /* initScheduler */ + #include "Stats.h" /* initStats */ + #include "STM.h" /* initSTM */ +@@ -162,6 +163,11 @@ hs_init_ghc(int *argc, char **argv[], RtsConfig rts_config) + rts_config.rts_opts_enabled, rts_config.rts_opts, rts_config.rts_hs_main); + } + ++#ifdef DEBUG ++ /* load debugging symbols */ ++ DEBUG_LoadSymbols((*argv)[0]); ++#endif /* DEBUG */ ++ + /* Initialise the stats department, phase 1 */ + initStats1(); + diff --git a/dev-lang/ghc/files/ghc-7.8.2-cgen-constify.patch b/dev-lang/ghc/files/ghc-7.8.2-cgen-constify.patch new file mode 100644 index 000000000000..efdd54fbf3fb --- /dev/null +++ b/dev-lang/ghc/files/ghc-7.8.2-cgen-constify.patch @@ -0,0 +1,34 @@ +commit b0cf3ab7a69b878a4335d21a347b56e4b0ca0b7b +Author: Sergei Trofimovich <slyfox@gentoo.org> +Date: Mon Apr 14 19:06:24 2014 +0300 + + compiler/cmm/PprC.hs: constify local string literals + + Consider one-line module + module B (v) where v = "hello" + in -fvia-C mode it generates code like + static char gibberish_str[] = "hello"; + + It uselessly eats data section (precious resource on ia64!). + The patch switches genrator to emit: + static const char gibberish_str[] = "hello"; + + Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> + +diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs +index 2398981..fdb578d 100644 +--- a/compiler/cmm/PprC.hs ++++ b/compiler/cmm/PprC.hs +@@ -112,6 +112,12 @@ pprTop (CmmProc infos clbl _ graph) = + + -- We only handle (a) arrays of word-sized things and (b) strings. + ++pprTop (CmmData ReadOnlyData (Statics lbl [CmmString str])) = ++ hcat [ ++ pprLocalness lbl, ptext (sLit "const char "), ppr lbl, ++ ptext (sLit "[] = "), pprStringInCStyle str, semi ++ ] ++ + pprTop (CmmData _section (Statics lbl [CmmString str])) = + hcat [ + pprLocalness lbl, ptext (sLit "char "), ppr lbl, diff --git a/dev-lang/ghc/files/ghc-7.8.2-ia64-no-shared.patch b/dev-lang/ghc/files/ghc-7.8.2-ia64-no-shared.patch new file mode 100644 index 000000000000..50a2346df910 --- /dev/null +++ b/dev-lang/ghc/files/ghc-7.8.2-ia64-no-shared.patch @@ -0,0 +1,18 @@ +Attempt to disable dynamic libs. + +Crash in threaded runtime (and in -dynamic builds) +looks very similar to sparc failures. +diff --git a/mk/config.mk.in b/mk/config.mk.in +index 7cc7aec..9f21256 100644 +--- a/mk/config.mk.in ++++ b/mk/config.mk.in +@@ -99,7 +99,8 @@ NoSharedLibsPlatformList = powerpc-unknown-linux \ + x86_64-unknown-mingw32 \ + i386-unknown-mingw32 \ + sparc-sun-solaris2 \ +- sparc-unknown-linux ++ sparc-unknown-linux \ ++ ia64-unknown-linux + + ifeq "$(SOLARIS_BROKEN_SHLD)" "YES" + NoSharedLibsPlatformList += i386-unknown-solaris2 |