aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-m32c.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2007-01-26 00:00:47 +0000
committerDJ Delorie <dj@redhat.com>2007-01-26 00:00:47 +0000
commit78eba9b618898636e01eebd15217a00767744c4b (patch)
tree559b55665a52a42e400748325d7aac42ba1a54f1 /bfd/elf32-m32c.c
parent7cc7335ab629f4df0615feaab2712342bbf51f5a (diff)
downloadbinutils-78eba9b618898636e01eebd15217a00767744c4b.zip
binutils-78eba9b618898636e01eebd15217a00767744c4b.tar.gz
binutils-78eba9b618898636e01eebd15217a00767744c4b.tar.bz2
* elf32-m32c.c (m32c_elf_howto_table): Don't complain about
R_M32C_16 or R_M32C_24 relocs.
Diffstat (limited to 'bfd/elf32-m32c.c')
-rw-r--r--bfd/elf32-m32c.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c
index 50538c9..492c5bc 100644
--- a/bfd/elf32-m32c.c
+++ b/bfd/elf32-m32c.c
@@ -60,13 +60,16 @@ static reloc_howto_type m32c_elf_howto_table [] =
0, /* dst_mask */
FALSE), /* pcrel_offset */
+ /* GCC intentionally overflows these next two in order to work
+ around limitations in the addressing modes, so don't complain
+ about overflow. */
HOWTO (R_M32C_16, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
+ complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_M32C_16", /* name */
FALSE, /* partial_inplace */
@@ -80,7 +83,7 @@ static reloc_howto_type m32c_elf_howto_table [] =
24, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
- complain_overflow_bitfield, /* complain_on_overflow */
+ complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_M32C_24", /* name */
FALSE, /* partial_inplace */