@ -0,0 +1,40 @@ |
|||||
|
--- ./elf/dl-runtime.c.orig 2004-09-02 12:06:09.000000000 +0200
|
||||
|
+++ ./elf/dl-runtime.c 2004-09-02 12:08:02.000000000 +0200
|
||||
|
@@ -46,6 +46,9 @@
|
||||
|
|
||||
|
#ifndef ELF_MACHINE_NO_PLT |
||||
|
static ElfW(Addr) __attribute_used__ |
||||
|
+#ifdef ELF_MACHINE_RUNTIME_FIXUP_ATTR
|
||||
|
+ ELF_MACHINE_RUNTIME_FIXUP_ATTR
|
||||
|
+#endif
|
||||
|
fixup ( |
||||
|
# ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS |
||||
|
ELF_MACHINE_RUNTIME_FIXUP_ARGS, |
||||
|
@@ -133,6 +136,9 @@
|
||||
|
#if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__ |
||||
|
|
||||
|
static ElfW(Addr) __attribute_used__ |
||||
|
+#ifdef ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR
|
||||
|
+ ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR
|
||||
|
+#endif
|
||||
|
profile_fixup ( |
||||
|
#ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS |
||||
|
ELF_MACHINE_RUNTIME_FIXUP_ARGS, |
||||
|
--- ./sysdeps/i386/dl-machine.h.orig 2004-09-02 12:05:52.000000000 +0200
|
||||
|
+++ ./sysdeps/i386/dl-machine.h 2004-09-02 12:08:20.000000000 +0200
|
||||
|
@@ -154,11 +154,13 @@
|
||||
|
destroys the passed register information. */ |
||||
|
/* GKM FIXME: Fix trampoline to pass bounds so we can do |
||||
|
without the `__unbounded' qualifier. */ |
||||
|
+#define ELF_MACHINE_RUNTIME_FIXUP_ATTR __attribute__ ((regparm (2)))
|
||||
|
+#define ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR __attribute__ ((regparm (3)))
|
||||
|
static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset) |
||||
|
- __attribute__ ((regparm (2), unused));
|
||||
|
+ __attribute_used__ ELF_MACHINE_RUNTIME_FIXUP_ATTR;
|
||||
|
static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset, |
||||
|
ElfW(Addr) retaddr) |
||||
|
- __attribute__ ((regparm (3), unused));
|
||||
|
+ __attribute_used__ ELF_MACHINE_RUNTIME_PROFILE_FIXUP_ATTR;
|
||||
|
# endif |
||||
|
|
||||
|
/* This code is used in dl-runtime.c to call the `fixup' function |
@ -1,19 +0,0 @@ |
|||||
|
|
||||
Older gcc (<3.4) are not able to honor the .rodata .section specification |
|
||||
correctly: |
|
||||
|
|
||||
../sysdeps/i386/i686/memcmp.S: Assembler messages: |
|
||||
../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve `.rodata' |
|
||||
|
|
||||
Rene Rebe <rene@rocklinux.org> |
|
||||
|
|
||||
--- ./sysdeps/i386/i686/memcmp.S~ 2004-04-02 01:28:37.000000000 +0200
|
|
||||
+++ ./sysdeps/i386/i686/memcmp.S 2004-05-22 21:27:39.000000000 +0200
|
|
||||
@@ -351,7 +351,6 @@
|
|
||||
popl %esi |
|
||||
RETURN |
|
||||
|
|
||||
- .section .rodata
|
|
||||
ALIGN (2) |
|
||||
L(table_32bytes) : |
|
||||
.long L(0bytes) - . + 0x0 |
|