Re: gcc 10: Default to -fno-common, multiple definitions of ...

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

 



On 21. 01. 20 17:05, Steve Grubb wrote:
On Tuesday, January 21, 2020 7:35:03 AM EST Miro Hrončok wrote:
This is a known thing in gcc 10:

https://gcc.gnu.org/gcc-10/porting_to.html#common

"Default to -fno-common

A common mistake in C is omitting extern when declaring a global variable
in a header file. If the header is included by several files it results in
multiple definitions of the same variable. In previous GCC versions this
error is ignored. GCC 10 defaults to -fno-common, which means a linker
error will now be reported. To fix this, use extern in header files when
declaring global variables, and ensure each global is defined in exactly
one C file. As a workaround, legacy C code can be compiled with -fcommon.


        int x;  // tentative definition - avoid in header files

        extern int y;  // correct declaration in a header file"

So, for those of us using F31 as the development / test environment, is there
a macro that we can add -fno-common to in ~/.rpmmacros without placing it in
the %__global_compiler_flags in /usr/lib/rpm/redhat/macros ?

Looking for an easy way to reproduce this without modifying root owned files.

You should be able to redefine %__global_compiler_flags in ~/.rpmmacros.
It still means you need to copy paste the current flags, but you won't need to touch root owned files.

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux