diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-12-04 10:48:58 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2001-12-04 10:48:58 +0000 |
commit | 2888ec15451bc70db83060bdaec3f1dd8eaf11e4 (patch) | |
tree | 6262b49b7ededcec8d7100572bba12ffcc1542f1 /bfd | |
parent | 2a9ecef2fc60a4ccd485cc92c81c7425e62d38e5 (diff) | |
download | gdb-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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf32-d10v.c | 66 |
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 */ |