diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf-attrs.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ff4b979..22dd190 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2010-11-05 Joseph Myers <joseph@codesourcery.com> + + * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low, + _bfd_elf_merge_unknown_attribute_list): Correct test for matching + string attributes. + 2010-11-05 Tristan Gingold <gingold@adacore.com> * po/bfd.pot: Regenerate diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c index e1893d3..569e846 100644 --- a/bfd/elf-attrs.c +++ b/bfd/elf-attrs.c @@ -613,7 +613,7 @@ _bfd_elf_merge_unknown_attribute_low (bfd *ibfd, bfd *obfd, int tag) /* Only pass on attributes that match in both inputs. */ if (in_attr[tag].i != out_attr[tag].i - || in_attr[tag].s != out_attr[tag].s + || (in_attr[tag].s == NULL) != (out_attr[tag].s == NULL) || (in_attr[tag].s != NULL && out_attr[tag].s != NULL && strcmp (in_attr[tag].s, out_attr[tag].s) != 0)) { @@ -673,7 +673,7 @@ _bfd_elf_merge_unknown_attribute_list (bfd *ibfd, bfd *obfd) /* Only pass on attributes that match in both inputs. */ if (in_list->attr.i != out_list->attr.i - || in_list->attr.s != out_list->attr.s + || (in_list->attr.s == NULL) != (out_list->attr.s == NULL) || (in_list->attr.s && out_list->attr.s && strcmp (in_list->attr.s, out_list->attr.s) != 0)) { |