summaryrefslogtreecommitdiffstats
path: root/recipes/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch')
-rw-r--r--recipes/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/recipes/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch b/recipes/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch
new file mode 100644
index 0000000000..e4abfe3f49
--- /dev/null
+++ b/recipes/glibc/glibc-2.2.5/glibc-2.2.5-allow-gcc-3.4-fixup.patch
@@ -0,0 +1,55 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- glibc-2.2.5/sysdeps/i386/dl-machine.h~glibc-2.2.5-allow-gcc-3.4-fixup.patch 2004-09-03 19:00:33.000000000 -0500
++++ glibc-2.2.5/sysdeps/i386/dl-machine.h 2004-09-03 19:00:37.000000000 -0500
+@@ -63,11 +63,12 @@
+ destroys the passed register information. */
+ /* GKM FIXME: Fix trampoline to pass bounds so we can do
+ without the `__unbounded' qualifier. */
++#define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), unused))
+ static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset)
+- __attribute__ ((regparm (2), unused));
++ ARCH_FIXUP_ATTRIBUTE;
+ static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset,
+ ElfW(Addr) retaddr)
+- __attribute__ ((regparm (3), unused));
++ ARCH_FIXUP_ATTRIBUTE;
+ #endif
+
+ /* Set up the loaded object described by L so its unrelocated PLT
+--- glibc-2.2.5/elf/dl-runtime.c~glibc-2.2.5-allow-gcc-3.4-fixup.patch 2004-09-03 19:00:33.000000000 -0500
++++ glibc-2.2.5/elf/dl-runtime.c 2004-09-03 19:00:37.000000000 -0500
+@@ -33,6 +33,12 @@
+ # define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym))
+ #endif
+
++/* The fixup functions might have need special attributes. If none
++ are provided define the macro as empty. */
++#ifndef ARCH_FIXUP_ATTRIBUTE
++# define ARCH_FIXUP_ATTRIBUTE
++#endif
++
+
+ /* This function is called through a special trampoline from the PLT the
+ first time each PLT entry is called. We must perform the relocation
+@@ -42,7 +48,7 @@
+ function. */
+
+ #ifndef ELF_MACHINE_NO_PLT
+-static ElfW(Addr) __attribute_used__
++static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE
+ fixup (
+ # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+ ELF_MACHINE_RUNTIME_FIXUP_ARGS,
+@@ -126,7 +132,7 @@
+
+ #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__
+
+-static ElfW(Addr) __attribute_used__
++static ElfW(Addr) __attribute_used__ ARCH_FIXUP_ATTRIBUTE
+ profile_fixup (
+ #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+ ELF_MACHINE_RUNTIME_FIXUP_ARGS,