surpport seeking the recorded video
[vuplus_openembedded] / recipes / glibc / glibc-2.3.2 / glibc232-gcc34-i386-fixup-attribute.patch
1 --- glibc-2.3.2/sysdeps/i386/dl-machine.h~glibc232-gcc34-i386-fixup-attribute.patch     2004-04-25 23:26:18.000000000 -0400
2 +++ glibc-2.3.2/sysdeps/i386/dl-machine.h       2004-04-25 23:26:19.000000000 -0400
3 @@ -155,11 +155,13 @@
4     destroys the passed register information.  */
5  /* GKM FIXME: Fix trampoline to pass bounds so we can do
6     without the `__unbounded' qualifier.  */
7 +#define ARCH_FIXUP_ATTRIBUTE __attribute__ ((regparm (3), unused))
8 +
9  static ElfW(Addr) fixup (struct link_map *__unbounded l, ElfW(Word) reloc_offset)
10 -     __attribute__ ((regparm (2), unused));
11 +     ARCH_FIXUP_ATTRIBUTE;
12  static ElfW(Addr) profile_fixup (struct link_map *l, ElfW(Word) reloc_offset,
13                                  ElfW(Addr) retaddr)
14 -     __attribute__ ((regparm (3), unused));
15 +     ARCH_FIXUP_ATTRIBUTE;
16  # endif
17  
18  /* This code is used in dl-runtime.c to call the `fixup' function
19 --- glibc-2.3.2/elf/dl-runtime.c~glibc232-gcc34-i386-fixup-attribute.patch      2003-02-07 14:41:12.000000000 -0500
20 +++ glibc-2.3.2/elf/dl-runtime.c        2004-04-25 23:42:01.000000000 -0400
21 @@ -36,6 +36,12 @@
22  # define VERSYMIDX(sym)        (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym))
23  #endif
24  
25 +/* The fixup functions might have need special attributes.  If none
26 +   are provided define the macro as empty.  */
27 +#ifndef ARCH_FIXUP_ATTRIBUTE
28 +# define ARCH_FIXUP_ATTRIBUTE
29 +#endif
30 +
31  
32  /* This function is called through a special trampoline from the PLT the
33     first time each PLT entry is called.  We must perform the relocation
34 @@ -45,7 +51,8 @@
35     function.  */
36  
37  #ifndef ELF_MACHINE_NO_PLT
38 -static ElfW(Addr) __attribute_used__
39 +static ElfW(Addr)
40 +__attribute ((used, noinline)) ARCH_FIXUP_ATTRIBUTE
41  fixup (
42  # ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
43          ELF_MACHINE_RUNTIME_FIXUP_ARGS,
44 @@ -132,7 +139,8 @@
45  
46  #if !defined PROF && !defined ELF_MACHINE_NO_PLT && !__BOUNDED_POINTERS__
47  
48 -static ElfW(Addr) __attribute_used__
49 +static ElfW(Addr)
50 +__attribute ((used, noinline)) ARCH_FIXUP_ATTRIBUTE
51  profile_fixup (
52  #ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
53         ELF_MACHINE_RUNTIME_FIXUP_ARGS,