Implement handling of the needed S390 relocations.

This commit is contained in:
Martin Schwidefsky 2009-12-22 08:34:07 -08:00 committed by Ulrich Drepper
parent 4286fa41ed
commit caf512dec2
3 changed files with 11 additions and 3 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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;