From: Russell King <rmk+lkml@arm.linux.org.uk>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: __attribute__((unused))
Date: Thu, 14 Oct 2004 23:08:02 +0100 [thread overview]
Message-ID: <20041014230802.C28649@flint.arm.linux.org.uk> (raw)
In-Reply-To: <1097791496.5788.2034.camel@baythorne.infradead.org>; from dwmw2@infradead.org on Thu, Oct 14, 2004 at 11:04:56PM +0100
On Thu, Oct 14, 2004 at 11:04:56PM +0100, David Woodhouse wrote:
> On Thu, 2004-10-14 at 22:02 +0100, Russell King wrote:
> > Hi,
> >
> > I notice that module.h contains stuff like:
> >
> > #define MODULE_GENERIC_TABLE(gtype,name) \
> > extern const struct gtype##_id __mod_##gtype##_table \
> > __attribute__ ((unused, alias(__stringify(name))))
> >
> > and even:
> >
> > #define __MODULE_INFO(tag, name, info) \
> > static const char __module_cat(name,__LINE__)[] \
> > __attribute_used__ \
> > __attribute__((section(".modinfo"),unused)) = __stringify(tag) "=" info
> >
> > My understanding is that we shouldn't be using __attribute__((unused))
> > in either of these - can someone confirm.
>
> Since the structure in question isn't explicitly referenced from
> elsewhere, the compiler may feel free to omit it. Since we want the
> compiler to emit it, not omit it, we use "unused" to say "yes, I know it
> looks unused; please emit it anyway". Later compilers use "used" to say
> "I use it really; please emit it anyway", meaning much the same thing.
It's the "later compilers" which I'm worried about here - I think they
defined "unused" to mean "this really really isn't used and you can
discard it". Hence my concern with the above.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core
next prev parent reply other threads:[~2004-10-14 22:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-14 21:02 __attribute__((unused)) Russell King
2004-10-14 22:04 ` __attribute__((unused)) David Woodhouse
2004-10-14 22:08 ` Russell King [this message]
2004-10-14 23:28 ` __attribute__((unused)) Maciej W. Rozycki
2004-10-15 12:31 ` __attribute__((unused)) Alan Cox
2004-10-15 13:50 ` __attribute__((unused)) Richard B. Johnson
2004-10-15 12:33 ` __attribute__((unused)) Frank van Maarseveen
2004-10-15 13:15 ` __attribute__((unused)) Maciej W. Rozycki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041014230802.C28649@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.