diff options
Diffstat (limited to 'glibc/glibc-2.3.2/50_glibc232-mips-buildfix.patch')
-rw-r--r-- | glibc/glibc-2.3.2/50_glibc232-mips-buildfix.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/glibc/glibc-2.3.2/50_glibc232-mips-buildfix.patch b/glibc/glibc-2.3.2/50_glibc232-mips-buildfix.patch index e69de29bb2..4841770a2b 100644 --- a/glibc/glibc-2.3.2/50_glibc232-mips-buildfix.patch +++ b/glibc/glibc-2.3.2/50_glibc232-mips-buildfix.patch @@ -0,0 +1,48 @@ +--- sysdeps/mips/dl-machine.h 22 Mar 2003 12:50:46 -0000 1.68 ++++ sysdeps/mips/dl-machine.h 5 May 2003 08:53:35 -0000 +@@ -534,13 +534,14 @@ static inline void + #endif + elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc, + const ElfW(Sym) *sym, const struct r_found_version *version, +- /* We use void* because the location to be relocated +- is not required to be properly aligned for a +- ELFW(Addr). */ +- void /* ElfW(Addr) */ *const reloc_addr) ++ ElfW(Addr) *const reloc_addr) + { + const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info); + ++/* We use void* because the location to be relocated is not required ++ to be properly aligned for a ELFW(Addr). */ ++ void *const r_addr = reloc_addr; ++ + #if !defined RTLD_BOOTSTRAP && !defined SHARED + /* This is defined in rtld.c, but nowhere in the static libc.a; + make the reference weak so static programs can still link. This +@@ -565,7 +566,7 @@ elf_machine_rel (struct link_map *map, c + /* Support relocations on mis-aligned offsets. Should we ever + implement RELA, this should be replaced with an assignment + from reloc->r_addend. */ +- __builtin_memcpy (&reloc_value, reloc_addr, sizeof (reloc_value)); ++ __builtin_memcpy (&reloc_value, r_addr, sizeof (reloc_value)); + + if (symidx) + { +@@ -613,7 +614,7 @@ elf_machine_rel (struct link_map *map, c + #endif + reloc_value += map->l_addr; + +- __builtin_memcpy (reloc_addr, &reloc_value, sizeof (reloc_value)); ++ __builtin_memcpy (r_addr, &reloc_value, sizeof (reloc_value)); + } + break; + case R_MIPS_NONE: /* Alright, Wilbur. */ +@@ -640,7 +641,7 @@ elf_machine_rel (struct link_map *map, c + + static inline void + elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, +- void /* ElfW(Addr) */ *const reloc_addr) ++ ElfW(Addr) *const reloc_addr) + { + /* XXX Nothing to do. There is no relative relocation, right? */ + } |