diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/s390/s390-32/dl-machine.h | 5 | ||||
-rw-r--r-- | sysdeps/s390/s390-64/dl-machine.h | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 02cae689d5..07a707b051 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-12-17 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Handle + R_390_PC32DBL. Remove unneeded R_390_PLT16DBL. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove + unneeded R_390_PLT16DBL and R_390_PLT32DBL. + 2009-12-21 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/futimens.c: Handle AT_FDCWD. diff --git a/sysdeps/s390/s390-32/dl-machine.h b/sysdeps/s390/s390-32/dl-machine.h index 64bf3423b6..251a5f6922 100644 --- a/sysdeps/s390/s390-32/dl-machine.h +++ b/sysdeps/s390/s390-32/dl-machine.h @@ -389,10 +389,13 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, *reloc_addr = value + reloc->r_addend - (Elf32_Addr) reloc_addr; break; case R_390_PC16DBL: - case R_390_PLT16DBL: *(unsigned short *) reloc_addr = (unsigned short) ((short) (value + reloc->r_addend - (Elf32_Addr) reloc_addr) >> 1); break; + case R_390_PC32DBL: + *(unsigned int *) reloc_addr = (unsigned int) + ((int) (value + reloc->r_addend - (Elf32_Addr) reloc_addr) >> 1); + break; case R_390_PC16: *(unsigned short *) reloc_addr = value + reloc->r_addend - (Elf32_Addr) reloc_addr; diff --git a/sysdeps/s390/s390-64/dl-machine.h b/sysdeps/s390/s390-64/dl-machine.h index fa893befdf..c4df274cdb 100644 --- a/sysdeps/s390/s390-64/dl-machine.h +++ b/sysdeps/s390/s390-64/dl-machine.h @@ -371,7 +371,6 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc, *reloc_addr = value +reloc->r_addend - (Elf64_Addr) reloc_addr; break; case R_390_PC32DBL: - case R_390_PLT32DBL: *(unsigned int *) reloc_addr = (unsigned int) ((int) (value + reloc->r_addend - (Elf64_Addr) reloc_addr) >> 1); break; @@ -380,7 +379,6 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc, value + reloc->r_addend - (Elf64_Addr) reloc_addr; break; case R_390_PC16DBL: - case R_390_PLT16DBL: *(unsigned short *) reloc_addr = (unsigned short) ((short) (value + reloc->r_addend - (Elf64_Addr) reloc_addr) >> 1); break; |