Re: [RFC v1 0/8] x86/init: Linux linker tables
From: Konrad Rzeszutek Wilk
Date: Thu Jan 21 2016 - 16:38:49 EST
On Thu, Jan 21, 2016 at 12:33:43PM -0800, Luis R. Rodriguez wrote:
> On Thu, Jan 21, 2016 at 12:19 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> > On 12/17/15 20:40, H. Peter Anvin wrote:
> >>>
> >>> const struct
> >>> foo__attribute__((used,section(".rodata.tbl.tablename.0"))) tablename[0];
> >>>
> >>> const struct
> >>> foo__attribute__((used,section(".rodata.tbl.tablename.999")))
> >>> tablename__end[0];
> >>>
> >
> > (Over)thinking about this some more, I suggest using the empty string
> > for the start and "~" for the end. And, yes, I did check that ~ works
> > as part of a section name.
>
> Sure, do we know if that ICC compatible? Do we care? There are a
> series of ICC hacks put in place on ipxe's original solution which
> I've folded in, it seems that works but if we care about ICC those
> folks should perhaps help review as well.
I didn't know the kernel could even be compiled with ICC? Thought
only GCC worked?
Anyhow - it may be that those fixes were for quite old ICC versions.
Does the latest one manifest these oddities?
>
> > Something that confuses me is that gcc seems to give these sections the
> > "aw" attributes which makes as complain. This might be a gcc bug.
> > Worst case we have to use an assembly statement to create these
> > sections; it isn't a big deal and shouldn't make it any more
> > architecture-specific.
>
> OK!
>
> Luis