Re: Question about genassym, locore.s and 0-sizedarrays(showstopperfor an icc compiled kernel)

From: Terry Lambert <tlambert2_at_mindspring.com>
Date: Fri, 05 Sep 2003 02:06:56 -0700
Alexander Leidinger wrote:
> On Fri, 05 Sep 2003 01:38:29 -0700
> Terry Lambert <tlambert2_at_mindspring.com> wrote:
> > Dan Nelson wrote:
> > > I guess the correct question to be asking is "does the ELF format allow
> > > 0-length symbols?"
> >
> > It does, according to my reading of it.  They may have an issue with
> > dead code removal or element aliasing.  The way to find out would be
> > to see what they emit for "[]"... 0 lenth, or 1?
> 
> % <icc.c
> char array[];
> 
> % nm icc.o
> 00000001 C array

Now try:

	struct foo {
		char c;
		int i;
		long array[];
	};

	struct foo foo;m
	struct foo fee[1];
	struct foo fie[3];
	struct foo foe[0];
	struct foo fum[1];

on both compilers.  If they end up the same, then Intel needs to
change to using the 0.  If they end up different, then they are
broken relative to the C99 standard and zero length arrays a final
elements in structures.

-- Terry
Received on Fri Sep 05 2003 - 00:09:27 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:21 UTC