Skip to content

Commit

Permalink
Implement handling of the needed S390 relocations.
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Schwidefsky authored and Ulrich Drepper committed Dec 22, 2009
1 parent 4286fa4 commit caf512d
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 3 deletions.
7 changes: 7 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
5 changes: 4 additions & 1 deletion sysdeps/s390/s390-32/dl-machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 0 additions & 2 deletions sysdeps/s390/s390-64/dl-machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down

0 comments on commit caf512d

Please sign in to comment.