On Wed, Jan 22, 2020 at 12:12 PM Kevin Kofler <kevin.kofler(a)chello.at> wrote:
Miro HronĨok wrote:
>
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"
I fail to see how this kind of incompatible change that breaks hundreds of
packages (and certainly a lot more software out there) is an improvement.
Kevin Kofler
Honestly, it would have been good to mention that GCC 10 contains such
a breaking change, either on the GCC10 Change proposal wiki page, or
in the FESCo ticket.
Neither was the case. :(
Now we still don't have a publicly available list of broken packages
(which, apparently, was known?) - can we please get the list?
I don't care where, but adding a link to it to either the Change wiki
page or the FESCo ticket would be great, so we can better deal with
it.
Fabio
> _______________________________________________
> devel mailing list -- devel(a)lists.fedoraproject.org
> To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org
> 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@lists.fedoraproject.org