diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/coff-rs6000.c | 8 | ||||
-rw-r--r-- | bfd/coff64-rs6000.c | 8 |
3 files changed, 18 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b292f45662..714f03fe7d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2010-01-23 Richard Sandiford <r.sandiford@uk.ibm.com> + + * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1. + (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE. + * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and + bitsize to 1. + (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE. + 2010-01-21 Nick Clifton <nickc@redhat.com> * elflink.c (elf_link_add_object_symbols): Look up name of diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 2ee74ecf57..2f13f489bb 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -896,11 +896,11 @@ reloc_howto_type xcoff_howto_table[] = EMPTY_HOWTO (0xe), - /* Non-relocating reference. */ + /* Non-relocating reference. Bitsize is 1 so that r_rsize is 0. */ HOWTO (R_REF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 32, /* bitsize */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ @@ -1162,6 +1162,8 @@ _bfd_xcoff_reloc_type_lookup (abfd, code) case BFD_RELOC_32: case BFD_RELOC_CTOR: return &xcoff_howto_table[0]; + case BFD_RELOC_NONE: + return &xcoff_howto_table[0xf]; default: return NULL; } diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c index 4d618c1acc..15e636e50e 100644 --- a/bfd/coff64-rs6000.c +++ b/bfd/coff64-rs6000.c @@ -1594,11 +1594,11 @@ reloc_howto_type xcoff64_howto_table[] = EMPTY_HOWTO (0xe), - /* Non-relocating reference. */ + /* Non-relocating reference. Bitsize is 1 so that r_rsize is 0. */ HOWTO (R_REF, /* type */ 0, /* rightshift */ - 2, /* size (0 = byte, 1 = short, 2 = long) */ - 32, /* bitsize */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 1, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ @@ -1882,6 +1882,8 @@ xcoff64_reloc_type_lookup (abfd, code) return &xcoff64_howto_table[0x1c]; case BFD_RELOC_64: return &xcoff64_howto_table[0]; + case BFD_RELOC_NONE: + return &xcoff64_howto_table[0xf]; default: return NULL; } |