|
# --- 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 - 2005 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
|