Fix a bug handling indirect symbols. (PR 28879) (#2068343)

This commit is contained in:
Nick Clifton 2022-03-30 12:25:35 +01:00
parent 6bd3a0b7c2
commit 467b87538d
2 changed files with 22 additions and 1 deletions

View File

@ -0,0 +1,14 @@
--- binutils.orig/bfd/elflink.c 2022-03-30 11:44:05.686040593 +0100
+++ binutils-2.38/bfd/elflink.c 2022-03-30 11:45:18.066541463 +0100
@@ -1294,9 +1294,8 @@ _bfd_elf_merge_symbol (bfd *abfd,
h->root.non_ir_ref_dynamic = true;
hi->root.non_ir_ref_dynamic = true;
}
-
- if ((oldbfd->flags & BFD_PLUGIN) != 0
- && hi->root.type == bfd_link_hash_indirect)
+ else if ((oldbfd->flags & BFD_PLUGIN) != 0
+ && hi->root.type == bfd_link_hash_indirect)
{
/* Change indirect symbol from IR to undefined. */
hi->root.type = bfd_link_hash_undefined;

View File

@ -39,7 +39,7 @@
Summary: A GNU collection of binary utilities
Name: binutils%{?name_cross}%{?_with_debug:-debug}
Version: 2.38
Release: 6%{?dist}
Release: 7%{?dist}
License: GPLv3+
URL: https://sourceware.org/binutils
@ -297,6 +297,10 @@ Patch21: binutils-gas-loc-view.patch
# Lifetime: Fixed in 2.39
Patch22: binutils-do-not-use-debuginfod.patch
# Purpose: Keep indirect symbol from IR if referenced from shared object.
# Lifetime: Fixed in 2.39
Patch23: binutils-indirect-symbols.patch
#----------------------------------------------------------------------------
Provides: bundled(libiberty)
@ -910,6 +914,9 @@ exit 0
#----------------------------------------------------------------------------
%changelog
* Wed Mar 30 2022 Nick Clifton <nickc@redhat.comn> - 2.38-7
- Fix a bug handling indirect symbols. (PR 28879) (#2068343)
* Thu Mar 10 2022 Nick Clifton <nickc@redhat.comn> - 2.38-6
- Simplify the assembler's evaluation of chained .loc view expressions. [Second attempt] (#2059646)