lkml.org 
[lkml]   [2003]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Make `obsolete params' work correctly if MODULE_SYMBOL_PRE
rusty@rustcorp.com.au (Rusty Russell)  wrote on 11.01.03 in <20030111224007$7807@gated-at.bofh.it>:

> In message <Pine.LNX.4.44.0301102134150.9532-100000@home.transmeta.com> you
> wri te:
> >
> > On Sat, 11 Jan 2003, Rusty Russell wrote:
> > >
> > > Just in case someone names a variable over 2000 chars, and uses it as
> > > an old-style module parameter?
> >
> > No. Just because variable-sized arrays aren't C, and generate crappy code.
> >
> > > for (i = 0; i < num; i++) {
> > > + char sym_name[strlen(obsparm[i].name)
> > > + + sizeof(MODULE_SYMBOL_PREFIX)];
> >
> > It's still there.
>
> OK, *please* explain to me in little words so I can understand.

Do "char sym_name[CONSTANT];". What's so hard to understand about that?

> Variable-sized arrays are C, as of C99. They've been a GNU extension
> forever.

Actually, the gcc thing and the C99 thing are significantly different, and
neither is a sub- or superset of the other. In fact, gcc's C99-conformance
page (http://gcc.gnu.org/c99status.html) still lists VLAs as "broken".

See here for at least some explanation:
http://gcc.gnu.org/ml/gcc/2002-10/msg00470.html

> While gcc 2.95.4 generates fairly horrible code, gcc 3.0 does better
> (the two compilers I have on my laptop).
>
> Both generate correct code.

For the GNU extension, maybe.

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

\
 
 \ /
  Last update: 2005-03-22 13:32    [W:0.033 / U:0.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site