[PATCH 1/2] gdb: remove some GCC version checks

Simon Marchi simark@simark.ca
Wed Feb 21 16:45:06 GMT 2024


On 2/21/24 10:03, Pedro Alves wrote:
> On 2024-02-21 02:19, Simon Marchi wrote:
> 
>>
>> diff --git a/gdb/nat/x86-gcc-cpuid.h b/gdb/nat/x86-gcc-cpuid.h
>> index dfd12587d813..b2eda44a2294 100644
>> --- a/gdb/nat/x86-gcc-cpuid.h
>> +++ b/gdb/nat/x86-gcc-cpuid.h
>> @@ -195,7 +195,6 @@ __get_cpuid_max (unsigned int __ext, unsigned int *__sig)
>>  
>>  #ifndef __x86_64__
>>    /* See if we can use cpuid.  On AMD64 we always can.  */
>> -#if __GNUC__ >= 3
>>    __asm__ ("pushf{l|d}\n\t"
>>  	   "pushf{l|d}\n\t"
>>  	   "pop{l}\t%0\n\t"
>> @@ -208,22 +207,6 @@ __get_cpuid_max (unsigned int __ext, unsigned int *__sig)
>>  	   "popf{l|d}\n\t"
>>  	   : "=&r" (__eax), "=&r" (__ebx)
>>  	   : "i" (0x00200000));
>> -#else
>> -/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
>> -   nor alternatives in i386 code.  */
>> -  __asm__ ("pushfl\n\t"
>> -	   "pushfl\n\t"
>> -	   "popl\t%0\n\t"
>> -	   "movl\t%0, %1\n\t"
>> -	   "xorl\t%2, %0\n\t"
>> -	   "pushl\t%0\n\t"
>> -	   "popfl\n\t"
>> -	   "pushfl\n\t"
>> -	   "popl\t%0\n\t"
>> -	   "popfl\n\t"
>> -	   : "=&r" (__eax), "=&r" (__ebx)
>> -	   : "i" (0x00200000));
>> -#endif
>>  
>>    if (!((__eax ^ __ebx) & 0x00200000))
>>      return 0;
> 
> It would be better IMO to avoid local changes to this file, especially if they're not
> really needed:
> 
> /*
>  * Helper cpuid.h file copied from gcc-6.0.0.  Code in gdb should not
>                        ^^^^^^^^^^^^^^^^^^^^^
>  * include this directly, but pull in x86-cpuid.h and use that func.
>  */
> 
> At some point, someone may want to pull a newer version from GCC, and local changes
> just make that a little more difficult.

I didn't realize this was copied from gcc, despite having "gcc" in the
name.  I'll remove this bit from v2.

>> diff --git a/gdbserver/tracepoint.h b/gdbserver/tracepoint.h
>> index 8b232324d2ec..6369e91aa276 100644
>> --- a/gdbserver/tracepoint.h
>> +++ b/gdbserver/tracepoint.h
>> @@ -38,11 +38,7 @@ void initialize_tracepoint (void);
>>  #if defined _WIN32 || defined __CYGWIN__
>>  # define EXPORTED_SYMBOL __declspec (dllexport)
>>  #else
>> -# if __GNUC__ >= 4
>>  #  define EXPORTED_SYMBOL __attribute__ ((visibility ("default")))
> 
> That "#  define" line should be "reindented".

Done.

Simon


More information about the Gdb-patches mailing list