Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: HEADS UP: gcc update work in progress



mrg%eterna.com.au@localhost said:
> i'm not aware of the problem here. can you explain a little further?

"everyone else" seems to switch to the new scheme because it
is said to be more efficient. See eg:
http://gcc.gnu.org/ml/gcc-help/2011-01/msg00127.html
http://old.nabble.com/dl_iterate_phdr-support-td30911163.html

As said I've tried that with gnat-aux and ran into backwards
compatibility problems which can hopefully be solved.
The patches to gcc are small - I'll append them.

best regards
Matthias


------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDirig Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr. Achim Bachem (Vorsitzender),
Dr. Ulrich Krafft (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Besuchen Sie uns auf unserem neuen Webauftritt unter www.fz-juelich.de
$NetBSD$

--- gcc/config/t-netbsd.orig    2011-02-05 14:31:27.000000000 +0000
+++ gcc/config/t-netbsd
@@ -1,2 +1,7 @@
 # Always build crtstuff with PIC.
 CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
+
+# Use unwind-dw2-fde-glibc
+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
+  $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
$NetBSD$

--- gcc/unwind-dw2-fde-glibc.c.orig     2011-02-05 14:31:27.000000000 +0000
+++ gcc/unwind-dw2-fde-glibc.c
@@ -59,6 +59,12 @@
 #endif
 
 #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+    && defined(__NetBSD__)
+# define ElfW(n) Elf_##n
+# define USE_PT_GNU_EH_FRAME
+#endif
+
+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
     && defined(TARGET_DL_ITERATE_PHDR) \
     && defined(__sun__) && defined(__svr4__)
 # define USE_PT_GNU_EH_FRAME
$NetBSD$

--- gcc/crtstuff.c.orig 2011-02-05 14:31:19.000000000 +0000
+++ gcc/crtstuff.c
@@ -90,6 +90,15 @@ call_ ## FUNC (void)                                 \
 
 #if defined(OBJECT_FORMAT_ELF) \
     && !defined(OBJECT_FORMAT_FLAT) \
+    && defined(HAVE_LD_EH_FRAME_HDR) \
+    && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \  
+    && defined(__NetBSD__)
+#include <link.h>
+# define USE_PT_GNU_EH_FRAME
+#endif
+
+#if defined(OBJECT_FORMAT_ELF) \
+    && !defined(OBJECT_FORMAT_FLAT) \
     && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \
     && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
     && defined(__sun__) && defined(__svr4__)
$NetBSD$

--- gcc/config.gcc.orig 2011-02-05 14:31:43.000000000 +0000
+++ gcc/config.gcc
@@ -1263,6 +1263,7 @@ x86_64-*-dragonfly*)
 i[34567]86-*-netbsdelf*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h 
netbsd-elf.h i386/netbsd-elf.h"
        extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
+       tmake_file="${tmake_file} i386/t-crtstuff"
        ;;
 i[34567]86-*-netbsd*)
        tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h 
netbsd.h netbsd-aout.h i386/netbsd.h"


Home | Main Index | Thread Index | Old Index