diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/elf/ChangeLog | 7 | ||||
-rw-r--r-- | include/elf/sparc.h | 22 |
2 files changed, 15 insertions, 14 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 46d4ddd..bbfd2b0 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,10 @@ +1999-07-08 Richard Henderson <rth@cygnus.com> + + * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value. + (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data. + (DT_SPARC_PLTFMT): Delete. + Based on a patch from Jakub Jelinek. + Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com) * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type. diff --git a/include/elf/sparc.h b/include/elf/sparc.h index 89d00be..ad3e1e5 100644 --- a/include/elf/sparc.h +++ b/include/elf/sparc.h @@ -138,21 +138,15 @@ END_RELOC_NUMBERS /* Relocation macros. */ -#define ELF64_R_TYPE_DATA(info) (((bfd_vma) (info) << 32) >> 40) -#define ELF64_R_TYPE_ID(info) (((bfd_vma) (info) << 56) >> 56) -#define ELF64_R_TYPE_INFO(data, type) (((bfd_vma) (data) << 8) \ - + (bfd_vma) (type)) +#define ELF64_R_TYPE_DATA(info) \ + (((bfd_signed_vma)((info) >> 8) ^ 0x800000) - 0x800000) +#define ELF64_R_TYPE_ID(info) \ + ((info) & 0xff) +#define ELF64_R_TYPE_INFO(data, type) \ + (((bfd_vma) ((data) & 0xffffff) << 8) | (bfd_vma) (type)) -#define DT_SPARC_REGISTER 0x70000001 - -/* - * FIXME: NOT ABI -- GET RID OF THIS - * Defines the format used by the .plt. Currently defined values are - * 0 -- reserved to SI - * 1 -- absolute address in .got.plt - * 2 -- got-relative address in .got.plt - */ +/* Values for Elf64_Dyn.d_tag. */ -#define DT_SPARC_PLTFMT 0x70000001 +#define DT_SPARC_REGISTER 0x70000001 #endif /* _ELF_SPARC_H */ |