From e1a6b26358dae2f75ccb8b57466ad9fa6cf1ed2f Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 5 Nov 2010 13:02:09 +0000 Subject: [PATCH] * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low, _bfd_elf_merge_unknown_attribute_list): Correct test for matching string attributes. --- bfd/ChangeLog | 6 ++++++ 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 + + * 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 * 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)) { -- 2.7.4