diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 50226f2..8565680 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2007-07-03 Joseph Myers <joseph@codesourcery.com> + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from + input attributes if value has been copied. + 2007-07-03 Nick Clifton <nickc@redhat.com> * COPYING: Replace with GPLv3 text. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index e335888..ab47558 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -6934,6 +6934,23 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) default: /* All known attributes should be explicitly covered. */ abort (); } + + if (in_attr[i].type && !out_attr[i].type) + switch (in_attr[i].type) + { + case 1: + if (out_attr[i].i) + out_attr[i].type = 1; + break; + + case 2: + if (out_attr[i].s) + out_attr[i].type = 2; + break; + + default: + abort (); + } } /* Merge Tag_compatibility attributes and any common GNU ones. */ |