From: Martin Liska Date: Fri, 25 Nov 2022 13:00:26 +0000 (+0100) Subject: Revert "readelf: Do not require EI_OSABI for IFUNC." X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8654c01f085f77e443185d0a61a106880bb060b9;p=binutils-gdb.git Revert "readelf: Do not require EI_OSABI for IFUNC." This reverts commit ffbbab0b3a1000f862b6d4ce3d9a76ed14f08801. --- diff --git a/binutils/readelf.c b/binutils/readelf.c index 365c1ede0a1..1bd6df9448a 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -12724,9 +12724,6 @@ 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) { @@ -12751,6 +12748,11 @@ 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