[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080126193036.GA25884@uranus.ravnborg.org>
Date: Sat, 26 Jan 2008 20:30:36 +0100
From: Sam Ravnborg <sam@...nborg.org>
To: Jeff Garzik <jeff@...zik.org>
Cc: WANG Cong <xiyou.wangcong@...il.com>, Greg KH <gregkh@...e.de>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...l.org>
Subject: Re: [Patch] Shut up warnings from files under drivers/
> I checked up on the synclink.c warning.
> We have the following code:
>
> static void synclink_remove_one (struct pci_dev *dev);
>
> ...
>
> static struct pci_driver synclink_pci_driver = {
> .remove = __devexit_p(synclink_remove_one),
> };
>
> ...
>
> static void __devexit synclink_remove_one (struct pci_dev *dev)
> {
> }
>
> And I double checked the preprocessed source to check
> that we applied the __attribute__((__used__)) to the function.
>
> Investigating a bit more I realized that gcc looses the
> __used__ attribution due to the prototype.
> So there are two correct fixes:
> a) move the function up so we do not need the forward
> declaration
> b) add a __devexit to the forward decalration too.
>
> I strongly prefer the first version and this is the
> correct fix for these cases.
>
> Do we have a gcc bug here - I did not see a definitive answer in gcc docs?
I have reported it now - follow:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34985
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists