aboutsummaryrefslogtreecommitdiff
path: root/bfd/coff-rs6000.c
diff options
context:
space:
mode:
authorTom Rix <trix@redhat.com>2002-02-21 03:57:36 +0000
committerTom Rix <trix@redhat.com>2002-02-21 03:57:36 +0000
commitff3a6ee3fde2983018891ca1fd5af50a89393528 (patch)
tree3aaff208881ee8714f36ae7e956c061d584d64d8 /bfd/coff-rs6000.c
parent385fa495bfa18b350d21d71e4064359f96599ff0 (diff)
downloadgdb-ff3a6ee3fde2983018891ca1fd5af50a89393528.zip
gdb-ff3a6ee3fde2983018891ca1fd5af50a89393528.tar.gz
gdb-ff3a6ee3fde2983018891ca1fd5af50a89393528.tar.bz2
XCOFF booke tests. Fix tlbre, tlbwe ppc WS field.
Diffstat (limited to 'bfd/coff-rs6000.c')
-rw-r--r--bfd/coff-rs6000.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 75ed122..3c083c9 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -857,7 +857,7 @@ reloc_howto_type xcoff_howto_table[] =
0xffff, /* dst_mask */
false), /* pcrel_offset */
- HOWTO (0, /* type */
+ HOWTO (0x1c, /* type */
0, /* rightshift */
4, /* size (0 = byte, 1 = short, 2 = long) */
64, /* bitsize */
@@ -869,8 +869,22 @@ reloc_howto_type xcoff_howto_table[] =
true, /* partial_inplace */
MINUS_ONE, /* src_mask */
MINUS_ONE, /* dst_mask */
- false) /* pcrel_offset */
+ false), /* pcrel_offset */
+ /* 16 bit Non modifiable absolute branch. */
+ HOWTO (0x1d, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ false, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ 0, /* special_function */
+ "R_BA", /* name */
+ true, /* partial_inplace */
+ 0xfffc, /* src_mask */
+ 0xfffc, /* dst_mask */
+ false), /* pcrel_offset */
};
void
@@ -913,6 +927,8 @@ _bfd_xcoff_reloc_type_lookup (abfd, code)
{
case BFD_RELOC_PPC_B26:
return &xcoff_howto_table[0xa];
+ case BFD_RELOC_PPC_BA16:
+ return &xcoff_howto_table[0x1d];
case BFD_RELOC_PPC_BA26:
return &xcoff_howto_table[8];
case BFD_RELOC_PPC_TOC16: