From: Richard Henderson Date: Thu, 8 Jul 1999 16:01:06 +0000 (+0000) Subject: * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=feb90132a0041e9a0fa9fb338c8f7214039d0f18;p=binutils-gdb.git * 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. --- diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 46d4ddd3730..bbfd2b04350 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,10 @@ +1999-07-08 Richard Henderson + + * 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 89d00bee975..ad3e1e5e8e1 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 */