|
|
@ -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 |