aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-12-04 10:48:58 +0000
committerAlexandre Oliva <aoliva@redhat.com>2001-12-04 10:48:58 +0000
commit2888ec15451bc70db83060bdaec3f1dd8eaf11e4 (patch)
tree6262b49b7ededcec8d7100572bba12ffcc1542f1
parent2a9ecef2fc60a4ccd485cc92c81c7425e62d38e5 (diff)
downloadgdb-2888ec15451bc70db83060bdaec3f1dd8eaf11e4.zip
gdb-2888ec15451bc70db83060bdaec3f1dd8eaf11e4.tar.gz
gdb-2888ec15451bc70db83060bdaec3f1dd8eaf11e4.tar.bz2
* elf32-d10v.c (elf_d10v_howto_table): Adjust bit-size of
R_D10V_10_PCREL_L, R_D10V_10_PCREL_R, R_D10V_18, R_D10V_18_PCREL. Check 10_PCREL relocations as signed. Disable pointless overflow checking of NONE and 32.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-d10v.c66
2 files changed, 40 insertions, 33 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index cf0ee92..3d0c6a8 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2001-12-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-d10v.c (elf_d10v_howto_table): Adjust bit-size of
+ R_D10V_10_PCREL_L, R_D10V_10_PCREL_R, R_D10V_18,
+ R_D10V_18_PCREL. Check 10_PCREL relocations as signed.
+ Disable pointless overflow checking of NONE and 32.
+
2001-12-04 Alan Modra <amodra@bigpond.net.au>
* reloc.c (bfd_install_relocation): Correct reloc address test.
diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c
index 9ec0aa5..4ddda4f 100644
--- a/bfd/elf32-d10v.c
+++ b/bfd/elf32-d10v.c
@@ -52,12 +52,12 @@ static reloc_howto_type elf_d10v_howto_table[] =
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
- false, /* pc_relative */
+ false, /* pc_relative */
0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
- "R_D10V_NONE", /* name */
- false, /* partial_inplace */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_D10V_NONE", /* name */
+ false, /* partial_inplace */
0, /* src_mask */
0, /* dst_mask */
false), /* pcrel_offset */
@@ -67,44 +67,44 @@ static reloc_howto_type elf_d10v_howto_table[] =
HOWTO (R_D10V_10_PCREL_R, /* type */
2, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 10, /* bitsize */
- true, /* pc_relative */
+ 8, /* bitsize */
+ true, /* pc_relative */
0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
+ complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_D10V_10_PCREL_R", /* name */
- false, /* partial_inplace */
- 0xff, /* src_mask */
+ false, /* partial_inplace */
+ 0xff, /* src_mask */
0xff, /* dst_mask */
- true), /* pcrel_offset */
+ true), /* pcrel_offset */
/* An PC Relative 10-bit relocation, shifted by 2 */
/* left container */
HOWTO (R_D10V_10_PCREL_L, /* type */
2, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 10, /* bitsize */
- true, /* pc_relative */
+ 8, /* bitsize */
+ true, /* pc_relative */
15, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
+ complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_D10V_10_PCREL_L", /* name */
- false, /* partial_inplace */
- 0x07f8000, /* src_mask */
- 0x07f8000, /* dst_mask */
- true), /* pcrel_offset */
+ false, /* partial_inplace */
+ 0x07f8000, /* src_mask */
+ 0x07f8000, /* dst_mask */
+ true), /* pcrel_offset */
/* A 16 bit absolute relocation */
HOWTO (R_D10V_16, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
- false, /* pc_relative */
+ false, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ bfd_elf_generic_reloc, /* special_function */
"R_D10V_16", /* name */
- false, /* partial_inplace */
+ false, /* partial_inplace */
0xffff, /* src_mask */
0xffff, /* dst_mask */
false), /* pcrel_offset */
@@ -113,13 +113,13 @@ static reloc_howto_type elf_d10v_howto_table[] =
HOWTO (R_D10V_18, /* type */
2, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
- 18, /* bitsize */
- false, /* pc_relative */
+ 16, /* bitsize */
+ false, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ bfd_elf_generic_reloc, /* special_function */
"R_D10V_18", /* name */
- false, /* partial_inplace */
+ false, /* partial_inplace */
0xffff, /* src_mask */
0xffff, /* dst_mask */
false), /* pcrel_offset */
@@ -128,13 +128,13 @@ static reloc_howto_type elf_d10v_howto_table[] =
HOWTO (R_D10V_18_PCREL, /* type */
2, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 18, /* bitsize */
- true, /* pc_relative */
+ 16, /* bitsize */
+ true, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ bfd_elf_generic_reloc, /* special_function */
"R_D10V_18_PCREL", /* name */
- false, /* partial_inplace */
+ false, /* partial_inplace */
0xffff, /* src_mask */
0xffff, /* dst_mask */
true), /* pcrel_offset */
@@ -144,12 +144,12 @@ static reloc_howto_type elf_d10v_howto_table[] =
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
- false, /* pc_relative */
+ false, /* pc_relative */
0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
"R_D10V_32", /* name */
- false, /* partial_inplace */
+ false, /* partial_inplace */
0xffffffff, /* src_mask */
0xffffffff, /* dst_mask */
false), /* pcrel_offset */