From ffbbab0b3a1000f862b6d4ce3d9a76ed14f08801 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Thu, 24 Nov 2022 13:17:01 +0100 Subject: [PATCH] readelf: Do not require EI_OSABI for IFUNC. PR 29718 binutils/ChangeLog: * readelf.c (get_symbol_type): Consider STT_GNU_IFUNC as reserved name. --- binutils/readelf.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/binutils/readelf.c b/binutils/readelf.c index 1bd6df9448a..365c1ede0a1 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -12724,6 +12724,9 @@ get_symbol_type (Filedata * filedata, unsigned int type) case STT_TLS: return "TLS"; case STT_RELC: return "RELC"; case STT_SRELC: return "SRELC"; + case STT_GNU_IFUNC: return "IFUNC"; /* As mentioned in PR29718, do not + require EI_OSABI as IFUNC is + a reseved name. */ default: if (type >= STT_LOPROC && type <= STT_HIPROC) { @@ -12748,11 +12751,6 @@ get_symbol_type (Filedata * filedata, unsigned int type) return "HP_STUB"; } - if (type == STT_GNU_IFUNC - && (filedata->file_header.e_ident[EI_OSABI] == ELFOSABI_GNU - || filedata->file_header.e_ident[EI_OSABI] == ELFOSABI_FREEBSD)) - return "IFUNC"; - snprintf (buff, sizeof (buff), _(": %d"), type); } else -- 2.11.4.GIT