diff options
author | Richard Henderson <rth@redhat.com> | 1999-07-08 16:01:06 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 1999-07-08 16:01:06 +0000 |
commit | 192e3343c375358bd91ab2d0b35958cc104cfc7c (patch) | |
tree | 2d4d8676657b0d17aeb5effd08f483a9cbe795bd /include/elf/sparc.h | |
parent | 4bd805d4344bd05f084558899acf1501e556cb5c (diff) | |
download | newlib-192e3343c375358bd91ab2d0b35958cc104cfc7c.zip newlib-192e3343c375358bd91ab2d0b35958cc104cfc7c.tar.gz newlib-192e3343c375358bd91ab2d0b35958cc104cfc7c.tar.bz2 |
* 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.
Diffstat (limited to 'include/elf/sparc.h')
-rw-r--r-- | include/elf/sparc.h | 22 |
1 files changed, 8 insertions, 14 deletions
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 */ |