Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>1999-07-08 20:01:06 +0400
committerRichard Henderson <rth@redhat.com>1999-07-08 20:01:06 +0400
commit192e3343c375358bd91ab2d0b35958cc104cfc7c (patch)
tree2d4d8676657b0d17aeb5effd08f483a9cbe795bd /include/elf/sparc.h
parent4bd805d4344bd05f084558899acf1501e556cb5c (diff)
* 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.h22
1 files changed, 8 insertions, 14 deletions
diff --git a/include/elf/sparc.h b/include/elf/sparc.h
index 89d00bee9..ad3e1e5e8 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 */