[PATCH][PUSHED] readelf: Do not require EI_OSABI for IFUNC.
Richard Earnshaw
Richard.Earnshaw@foss.arm.com
Thu Nov 24 12:27:13 GMT 2022
On 24/11/2022 12:18, Martin Liška wrote:
> Pushed as it's pre-approved by Nick.
>
> Cheers,
> Martin
>
> PR29718
>
> binutils/ChangeLog:
>
> * readelf.c (get_symbol_type): Consider STT_GNU_IFUNC as
> reserved name.
STT_GNU_IFUNC is defined in the OS-specific reserved space. How can it
be globally reserved? It can't have meaning unless the OS ABI defines it
as this.
R.
> ---
> 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), _("<OS specific>: %d"), type);
> }
> else
More information about the Binutils
mailing list