Re: section breakage on ppc64 (aka __devinitconst is broken bydesign)

From: Jan Beulich
Date: Fri Feb 08 2008 - 03:14:18 EST


>I cannot see any other way out of this than to loose all the newly added
>consts. We have to different behavior across platforms to find a suitable
>solution that is reliable.
>
>[Kept rest of mail as I added Jan - hope he have some ideas to throw in].

I'd first of all need a better understanding of what these comments are
really based upon:

/* On some platforms relocations to global data cannot go into read-only
sections, so 'const' makes no sense and even causes compile failures
with some compilers. */

While I can see such behavior as reasonable for, say, shared objects,
I severely doubt that this is generally appropriate for executables, not
to say for the kernel. This is particularly in the light of this comment in
gcc/output.h:

/* To optimize loading of shared programs, define following subsections
of data section:

which clearly says that the resulting (default) object placement (of read-
only data in writeable sections) is an optimization, not a requirement,
and even then only for shared programs (which the kernel clearly isn't).
Has there been any communication with the gcc folks on this subject?

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/