# --- ROCK-COPYRIGHT-NOTE-BEGIN --- # # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # Please add additional copyright information _after_ the line containing # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by # the ./scripts/Create-CopyPatch script. Do not edit this copyright text! # # ROCK Linux: rock-src/package/base/glibc/glibc23/dl-runtime-fix.patch # ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # --- ROCK-COPYRIGHT-NOTE-END --- --- ./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