diff options
author | Andreas Jaeger <aj@suse.de> | 2000-10-24 07:01:37 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2000-10-24 07:01:37 +0000 |
commit | 391713a434842f9b62570eaf03008848746e050f (patch) | |
tree | 188d01b6717ee4b1db51e4dc0b45259d0ea054cf /sysdeps/mips | |
parent | a881e0a074e448f282e44b1d172b46199697755b (diff) | |
download | glibc-391713a434842f9b62570eaf03008848746e050f.tar.gz glibc-391713a434842f9b62570eaf03008848746e050f.tar.xz glibc-391713a434842f9b62570eaf03008848746e050f.zip |
Partly revert patch from 2000-10-18.
Diffstat (limited to 'sysdeps/mips')
-rw-r--r-- | sysdeps/mips/dl-machine.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/sysdeps/mips/dl-machine.h b/sysdeps/mips/dl-machine.h index 8051dc670c..7c27de04b6 100644 --- a/sysdeps/mips/dl-machine.h +++ b/sysdeps/mips/dl-machine.h @@ -138,10 +138,6 @@ elf_machine_load_address (void) /* The MSB of got[1] of a gnu object is set to identify gnu objects. */ #define ELF_MIPS_GNU_GOT1_MASK 0x80000000 -/* GNU Binutils upto 2.10 produce a wrong relocations. Bit 30 of - got[1] marks good objects. */ -#define ELF_MIPS_GNU_GOT1_OK 0x00000001 - /* We can't rely on elf_machine_got_rel because _dl_object_relocation_scope fiddles with global data. */ #define ELF_MACHINE_BEFORE_RTLD_RELOC(dynamic_info) \ @@ -153,10 +149,6 @@ do { \ \ got = (ElfW(Addr) *) D_PTR (map, l_info[DT_PLTGOT]); \ \ - if ((got[1] & ELF_MIPS_GNU_GOT1_MASK) != 0) \ - got[1] = (ElfW(Addr)) ELF_MIPS_GNU_GOT1_MASK \ - | (got[1] & ELF_MIPS_GNU_GOT1_OK); \ - \ if (__builtin_expect (map->l_addr == 0, 1)) \ goto done; \ \ @@ -219,8 +211,8 @@ elf_machine_runtime_link_map (ElfW(Addr) gpreg, ElfW(Addr) stub_pc) if ((g1 & ELF_MIPS_GNU_GOT1_MASK) != 0) { - struct link_map *l = (struct link_map *) - (g1 & ~(ELF_MIPS_GNU_GOT1_MASK|ELF_MIPS_GNU_GOT1_OK)); + struct link_map *l = + (struct link_map *) (g1 & ~ELF_MIPS_GNU_GOT1_MASK); ElfW(Addr) base, limit; const ElfW(Phdr) *p = l->l_phdr; ElfW(Half) this, nent = l->l_phnum; @@ -670,8 +662,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) of got[1] of a gnu object is set to identify gnu objects. Where we can store l for non gnu objects? XXX */ if ((got[1] & ELF_MIPS_GNU_GOT1_MASK) != 0) - got[1] = (ElfW(Addr)) ((unsigned) l | ELF_MIPS_GNU_GOT1_MASK - | (got[1] & ELF_MIPS_GNU_GOT1_OK)); + got[1] = (ElfW(Addr)) ((unsigned) l | ELF_MIPS_GNU_GOT1_MASK); else _dl_mips_gnu_objects = 0; } |