slyfox 14/07/10 19:31:41
Added: ghc-7.8.1_rc1-libbfd.patch
ghc-7.8.2-ia64-no-shared.patch
ghc-7.8.2-cgen-constify.patch
Log:
Version bump.
(Portage version: 2.2.10_p15/cvs/Linux x86_64, signed Manifest commit with
key 611FF3AA)
Revision Changes Path
1.1 dev-lang/ghc/files/ghc-7.8.1_rc1-libbfd.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-7.8.1_rc1-libbfd.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-7.8.1_rc1-libbfd.patch?rev=1.1&content-type=text/plain
Index: ghc-7.8.1_rc1-libbfd.patch
===================================================================
commit bb5953484579968c984d074ca1af5d21e1c9e7a0
Author: Sergei Trofimovich <[email protected]>
Date: Mon Feb 10 12:45:58 2014 +0300
rts: unrust 'libbfd' debug symbols parser
Signed-off-by: Sergei Trofimovich <[email protected]>
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();
1.1 dev-lang/ghc/files/ghc-7.8.2-ia64-no-shared.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-7.8.2-ia64-no-shared.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-7.8.2-ia64-no-shared.patch?rev=1.1&content-type=text/plain
Index: ghc-7.8.2-ia64-no-shared.patch
===================================================================
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
1.1 dev-lang/ghc/files/ghc-7.8.2-cgen-constify.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-7.8.2-cgen-constify.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-7.8.2-cgen-constify.patch?rev=1.1&content-type=text/plain
Index: ghc-7.8.2-cgen-constify.patch
===================================================================
commit b0cf3ab7a69b878a4335d21a347b56e4b0ca0b7b
Author: Sergei Trofimovich <[email protected]>
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 <[email protected]>
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,