[PATCH] Fix PR gdb/23835: Don't redefine _FORTIFY_SOURCE if it's already defined

Sergio Durigan Junior sergiodj@redhat.com
Wed Oct 31 20:04:00 GMT 2018


On Tuesday, October 30 2018, Simon Marchi wrote:

> On 2018-10-30 17:42, Sergio Durigan Junior wrote:
>> Gentoo has a local GCC patch which always defines _FORTIFY_SOURCE=2.
>> This causes a build problem when building GDB there, because
>> "common/common-defs.h" also defines _FORTIFY_SOURCE=2:
>>
>>     CXX    gdb.o
>>   In file included from ../../gdb/defs.h:28:0,
>> 		   from ../../gdb/gdb.c:19:
>>   ../../gdb/common/common-defs.h:71:0: error: "_FORTIFY_SOURCE"
>> redefined [-Werror]
>>    #define _FORTIFY_SOURCE 2
>>
>>   <built-in>: note: this is the location of the previous definition
>>   cc1plus: all warnings being treated as errors
>>   make[2]: *** [Makefile:1619: gdb.o] Error 1
>>
>> Even though it is questionable whether Gentoo's approach is the
>> correct one:
>>
>>   https://jira.mongodb.org/browse/SERVER-29982
>>   https://bugs.gentoo.org/621036
>>
>> it is still possible for GDB to be a bit more robust here and make
>> sure it just defines _FORTIFY_SOURCE if it hasn't been defined
>> already.  This patch does that.
>>
>> Tested by rebuilding and making sure the macro was defined.
>
> I think it makes sense, it also gives the user the possibility to
> override it, if they don't like our value.  Give it a few days to give
> others a change to respond.  If you don't hear anything in ~1 week,
> please go ahead and push.

Thanks for the review.  I'll wait a week.

>> gdb/ChangeLog:
>> 2018-10-30  Sergio Durigan Junior  <sergiodj@redhat.com>
>>
>> 	PR gdb/23835
>> 	* common/common-defs.h: Don't redefine _FORTIFY_SOURCE is it's
>> 	already defined.
>> ---
>>  gdb/ChangeLog            | 6 ++++++
>>  gdb/common/common-defs.h | 5 +++--
>>  2 files changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
>> index 940300f95a..239d7e16c2 100644
>> --- a/gdb/ChangeLog
>> +++ b/gdb/ChangeLog
>> @@ -1,3 +1,9 @@
>> +2018-10-30  Sergio Durigan Junior  <sergiodj@redhat.com>
>> +
>> +	PR gdb/23835
>> +	* common/common-defs.h: Don't redefine _FORTIFY_SOURCE is it's
>
> is -> if.

Fixed.

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/



More information about the Gdb-patches mailing list