public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH][PUSHED] readelf: Do not require EI_OSABI for IFUNC.
@ 2022-11-24 12:18 Martin Liška
  2022-11-24 12:27 ` Richard Earnshaw
  0 siblings, 1 reply; 3+ messages in thread
From: Martin Liška @ 2022-11-24 12:18 UTC (permalink / raw)
  To: binutils; +Cc: Nick Clifton

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.
---
 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
-- 
2.38.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH][PUSHED] readelf: Do not require EI_OSABI for IFUNC.
  2022-11-24 12:18 [PATCH][PUSHED] readelf: Do not require EI_OSABI for IFUNC Martin Liška
@ 2022-11-24 12:27 ` Richard Earnshaw
  2022-11-24 12:45   ` Martin Liška
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Earnshaw @ 2022-11-24 12:27 UTC (permalink / raw)
  To: Martin Liška, binutils; +Cc: Nick Clifton

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH][PUSHED] readelf: Do not require EI_OSABI for IFUNC.
  2022-11-24 12:27 ` Richard Earnshaw
@ 2022-11-24 12:45   ` Martin Liška
  0 siblings, 0 replies; 3+ messages in thread
From: Martin Liška @ 2022-11-24 12:45 UTC (permalink / raw)
  To: Richard Earnshaw, binutils; +Cc: Nick Clifton

On 11/24/22 13:27, Richard Earnshaw wrote:
> 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.

https://sourceware.org/bugzilla/show_bug.cgi?id=29718#c0

Please reply to this PR.

Thanks,
Martin

> 
> 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-24 12:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-24 12:18 [PATCH][PUSHED] readelf: Do not require EI_OSABI for IFUNC Martin Liška
2022-11-24 12:27 ` Richard Earnshaw
2022-11-24 12:45   ` Martin Liška

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).