Re: [PATCH v2] tst_libext2fs: Avoid multiple definition of global variables

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

 



On 2/11/20 2:22 PM, Eric Sandeen wrote:
> On 2/10/20 9:24 AM, Lukas Czerner wrote:
>> gcc version 10 changed the default from -fcommon to -fno-common and as a
>> result e2fsprogs make check tests fail because tst_libext2fs.c end up
>> with a build error.
>>
>> This is because it defines two global variables debug_prog_name and
>> extra_cmds that are already defined in debugfs/debugfs.c. With -fcommon
>> linker was able to resolve those into the same object, however with
>> -fno-common it's no longer able to do it and we end up with multiple
>> definition errors.
>>
>> Fix the problem by using SKIP_GLOBDEFS macro to skip the variables
>> definition in debugfs.c. Note that debug_prog_name is also defined in
>> lib/ext2fs/extent.c when DEBUG macro is used, but this does not work even
>> with older gcc versions and is never used regardless so I am not going to
>> bother with it.
>>
>> Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
>> ---
>> v2: Previous fix wasn't really working properly
> 
> What was not working properly?
> 
> It seemed reasonable to me.  The new mechanism looks like it would work,
> but the first patch seemed more obvious, so I'd like to know what the problem
> was.

I built e2fsprogs & ran make check from git on Fedora Rawhide w/ your first patch,
and it all seemed to work fine so I'll just stand by for more info.  :)

-Eric




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux