From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1062) id AA5EF3858C2C; Thu, 24 Aug 2023 03:07:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AA5EF3858C2C Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Alan Modra To: bfd-cvs@sourceware.org Subject: [binutils-gdb] kvx: fix handling of STB_GNU_UNIQUE symbols X-Act-Checkin: binutils-gdb X-Git-Author: Paul Iannetta X-Git-Refname: refs/heads/master X-Git-Oldrev: 492e9b6b0f9d104467a9986281e74455ed5b7738 X-Git-Newrev: 66644c5dc3d61b5cabefba7f0ddb467c2ca750ed Message-Id: <20230824030715.AA5EF3858C2C@sourceware.org> Date: Thu, 24 Aug 2023 03:07:15 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Aug 2023 03:07:15 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D66644c5dc3d6= 1b5cabefba7f0ddb467c2ca750ed commit 66644c5dc3d61b5cabefba7f0ddb467c2ca750ed Author: Paul Iannetta Date: Wed Aug 23 16:39:21 2023 +0200 kvx: fix handling of STB_GNU_UNIQUE symbols =20 When processing a STB_GNU_UNIQUE symbol we did not update has_gnu_osabi correctly. =20 * config/tc-kvx.c (kvx_end): Do not write to e_ident. (kvx_type): Properly handle STB_GNU_UNIQUE symbols. Diff: --- gas/config/tc-kvx.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gas/config/tc-kvx.c b/gas/config/tc-kvx.c index c5c8312922f..be8bc7da923 100644 --- a/gas/config/tc-kvx.c +++ b/gas/config/tc-kvx.c @@ -2205,7 +2205,6 @@ void kvx_end (void) { int newflags; - Elf_Internal_Ehdr *i_ehdrp; =20 if (!env.params.core_set) env.params.core =3D kvx_core_info->elf_core; @@ -2218,10 +2217,6 @@ kvx_end (void) =20 bfd_set_private_flags (stdoutput, newflags); =20 - i_ehdrp =3D elf_elfheader (stdoutput); - i_ehdrp->e_ident[EI_ABIVERSION] =3D env.params.abi; - i_ehdrp->e_ident[EI_OSABI] =3D env.params.osabi; - cleanup (); =20 if (inside_bundle && insncnt !=3D 0) @@ -2277,7 +2272,10 @@ kvx_type (int start ATTRIBUTE_UNUSED) type =3D BSF_ELF_COMMON; else if (strcmp (typename, "gnu_unique_object") =3D=3D 0 || strcmp (typename, "STB_GNU_UNIQUE") =3D=3D 0) - type =3D BSF_OBJECT | BSF_GNU_UNIQUE; + { + elf_tdata (stdoutput)->has_gnu_osabi |=3D elf_gnu_osabi_unique; + type =3D BSF_OBJECT | BSF_GNU_UNIQUE; + } else if (strcmp (typename, "notype") =3D=3D 0 || strcmp (typename, "STT_NOTYPE") =3D=3D 0) ;