This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc 3.4 doesn't work with glibc on x86


I used the appended hack,
Andreas

============================================================
Index: sysdeps/i386/dl-machine.h
--- sysdeps/i386/dl-machine.h	5 Mar 2004 10:14:49 -0000	1.124
+++ sysdeps/i386/dl-machine.h	9 Mar 2004 06:38:28 -0000
@@ -154,11 +154,13 @@ elf_machine_runtime_setup (struct link_m
    destroys the passed register information.  */
 /* GKM FIXME: Fix trampoline to pass bounds so we can do
    without the `__unbounded' qualifier.  */
+#define FIXUP_ATTRIBUTE __attribute__ ((regparm (2), unused))
+#define PROFILE_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), unused))
 static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset)
-     __attribute__ ((regparm (2), unused));
+     FIXUP_ATTRIBUTE;
 static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset,
 				 ElfW(Addr) retaddr)
-     __attribute__ ((regparm (3), unused));
+     PROFILE_FIXUP_ATTRIBUTE;
 # endif
 
 /* This code is used in dl-runtime.c to call the `fixup' function
============================================================
Index: elf/dl-runtime.c
--- elf/dl-runtime.c	7 Mar 2004 05:21:01 -0000	1.64
+++ elf/dl-runtime.c	9 Mar 2004 06:38:28 -0000
@@ -47,6 +47,9 @@
 #ifndef ELF_MACHINE_NO_PLT
 static ElfW(Addr)
 __attribute ((used, noinline))
+#ifdef FIXUP_ATTRIBUTE
+     FIXUP_ATTRIBUTE
+#endif
 fixup (
 # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
         ELF_MACHINE_RUNTIME_FIXUP_ARGS,
@@ -123,6 +126,9 @@ fixup (
 
 static ElfW(Addr)
 __attribute ((used, noinline))
+#ifdef PROFILE_FIXUP_ATTRIBUTE
+     PROFILE_FIXUP_ATTRIBUTE
+#endif
 profile_fixup (
 #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
        ELF_MACHINE_RUNTIME_FIXUP_ARGS,

-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]