aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1997-02-11 20:30:12 +0000
committerIan Lance Taylor <ian@airs.com>1997-02-11 20:30:12 +0000
commita4183ba5c975bcaed9473184a0830d73ebd84487 (patch)
tree7a40ed37446c61c4141b555ad8ae197244ea1f98 /bfd
parent37404956b433bcbef387449d997a683be6f78369 (diff)
downloadgdb-a4183ba5c975bcaed9473184a0830d73ebd84487.zip
gdb-a4183ba5c975bcaed9473184a0830d73ebd84487.tar.gz
gdb-a4183ba5c975bcaed9473184a0830d73ebd84487.tar.bz2
* elf32-mips.c (reloc_type): Add R_MIPS16_GPREL.
(elf_mips16_gprel_howto): New static variable. (mips16_gprel_reloc): New static function. (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_GPREL. (mips_info_to_howto_rel): Handle R_MIPS16_GPREL. (mips_elf_relocate_section): Handle R_MIPS16_GPREL. * reloc.c (BFD_RELOC_MIPS16_GPREL): Define. * bfd-in2.h, libbfd.h: Rebuild.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog11
-rw-r--r--bfd/bfd-in2.h3
-rw-r--r--bfd/libbfd.h1
-rw-r--r--bfd/reloc.c5
4 files changed, 20 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d9fe80d..e3f94ca 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,14 @@
+Tue Feb 11 15:27:32 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * elf32-mips.c (reloc_type): Add R_MIPS16_GPREL.
+ (elf_mips16_gprel_howto): New static variable.
+ (mips16_gprel_reloc): New static function.
+ (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_GPREL.
+ (mips_info_to_howto_rel): Handle R_MIPS16_GPREL.
+ (mips_elf_relocate_section): Handle R_MIPS16_GPREL.
+ * reloc.c (BFD_RELOC_MIPS16_GPREL): Define.
+ * bfd-in2.h, libbfd.h: Rebuild.
+
start-sanitize-m32r
Mon Feb 10 23:25:00 1997 Doug Evans <dje@seba.ricochet.net>
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index a092ba8..a14a170 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1681,6 +1681,9 @@ simple reloc otherwise. */
/* The MIPS16 jump instruction. */
BFD_RELOC_MIPS16_JMP,
+/* MIPS16 GP relative reloc. */
+ BFD_RELOC_MIPS16_GPREL,
+
/* High 16 bits of 32-bit value; simple reloc. */
BFD_RELOC_HI16,
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 2ba10f7..a373d72 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -638,6 +638,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_ALPHA_LINKAGE",
"BFD_RELOC_MIPS_JMP",
"BFD_RELOC_MIPS16_JMP",
+ "BFD_RELOC_MIPS16_GPREL",
"BFD_RELOC_HI16",
"BFD_RELOC_HI16_S",
"BFD_RELOC_LO16",
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 3cf9d73..81571b3 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -1962,6 +1962,11 @@ ENUMDOC
The MIPS16 jump instruction.
ENUM
+ BFD_RELOC_MIPS16_GPREL
+ENUMDOC
+ MIPS16 GP relative reloc.
+
+ENUM
BFD_RELOC_HI16
ENUMDOC
High 16 bits of 32-bit value; simple reloc.