[Bug c/57725] conflicting language extensions
jbeulich at novell dot com
gcc-bugzilla@gcc.gnu.org
Thu Jun 27 07:12:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57725
--- Comment #5 from jbeulich at novell dot com ---
How that? How is code supposed to find out then?
Perhaps briefly explaining where this is coming from originally might help: The
Xen hypervisor (as much as Linux) has a number of linker script constructs like
.xsm_initcall.init : {
__xsm_initcall_start = .;
*(.xsm_initcall.init)
__xsm_initcall_end = .;
} :text
If there's no matching input section at all, the two boundary symbols will end
up equal. How would C code be supposed to find out if the comparison result is
unspecified?
And remember, this is not a problem with default visibility (presumably because
the code needs to be prepared for link time overrides of the symbols), but Xen
likes to get built with non-default visibility in order to avoid expensive GOT
indirections when accessing data despite the necessary use of -fPIC.
More information about the Gcc-bugs
mailing list