Re: [PATCH V2] xfsprogs: do not redeclare globals provided by libraries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/29/20 10:01 AM, Darrick J. Wong wrote:
> On Wed, Jan 29, 2020 at 09:16:58AM -0600, Eric Sandeen wrote:
>> In each of these cases, db, logprint, and mdrestore are redeclaring
>> as a global variable something which was already provided by a
>> library they link with. 
>>
>> gcc now defaults to -fno-common and trips over these global variables
>> which are declared in utilities as well as in libxfs and libxlog, and
>> it causes the build to fail.
>>
>> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> 
>> ---

...

>> +	print_exit = 1; /* -e is now default. specify -c to override */ 
> 
> With the trailing whitespace after the comment fixed,

oh burn. ;)

> Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> 
> Though given your earlier comment on IRC, maybe we should investigate
> why -fno-common would be useful (since Fedora turned it on??) or if it
> should be in the regular build to catch multiply defined global vars?

That's a good idea.  FWIW my understanding is that it's a new default in
gcc10.

Docs say w.r.t. -fcommon: "This behavior is inconsistent with C++, and on many targets implies a speed and code size penalty on global variable references. It is mainly useful to enable legacy code to link without errors."

Want me to send a V3 w/ -fno-common explicitly set?

-Eric



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux