lkml.org 
[lkml]   [2005]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS
On Thu, Nov 10, 2005 at 06:24:43PM -0800, Andrew Morton wrote:
> Adrian Bunk <bunk@stusta.de> wrote:
> >
> > On Thu, Nov 10, 2005 at 04:28:57AM -0800, Andrew Morton wrote:
> > > Adrian Bunk <bunk@stusta.de> wrote:
> > > >
> > > > Currently, using an undeclared function gives a compile warning, but it
> > > > can lead to a nasty runtime error if the prototype of the function is
> > > > different from what gcc guessed.
> > > >
> > > > With -Werror-implicit-function-declaration, we are getting an immediate
> > > > compile error instead.
> > > >
> > > > There will be some compile errors in cases where compilation previously
> > > > worked because the undefined function wasn't called due to gcc dead code
> > > > elimination, but in these cases a proper fix doesnt harm.
> > > >
> > >
> > > Sorry, I need to build allmodconfig kernels on wacky architectures (eg
> > > ppc64) and this patch is killing me.
> >
> > Can you send me the list of compile errors so that I can work on fixing
> > them?
> >
>
> No handily, sorry. Missing virt_to_bus() is the typical problem.
>

But in this case -Werror-implicit-function-declaration doesn't create
new compile errors, it only moves compile errors from compile time to
link or depmod time - which is IMHO not a bad change.

If you really want to keep the status quo, you can still steal the
following from sparc64:
extern unsigned long virt_to_bus_not_defined_use_pci_map(volatile void *addr);
#define virt_to_bus virt_to_bus_not_defined_use_pci_map
extern unsigned long bus_to_virt_not_defined_use_pci_map(volatile void *addr);
#define bus_to_virt bus_to_virt_not_defined_use_pci_map

Would a patch to mark the ISA legacy functions as __deprecated be OK?

This might give some motivation for people to convert drivers and would
avoid new code like the recently introduced kexec to use this obsolete
API.

> The cross-tools at http://developer.osdl.org/dev/plm/cross_compile/ are
> quite simple to install.

Thanks, I've tried it.

Other problems I found until I gave up on compiling:
- a problem in sk98lin indirectly corrected by my SkPciWriteCfgDWord()
patch
- drivers/net/wireless/tiacx/: missing #include <linux/vmalloc.h>'s
(see my patch) - this seems to be a real bug

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
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-11-11 21:21    [from the cache]
©2003-2011 Jasper Spaans