[coreboot] [RFC] Error out on implicit declarations

Myles Watson mylesgw at gmail.com
Mon Dec 22 17:14:33 CET 2008



> -----Original Message-----
> From: Carl-Daniel Hailfinger [mailto:c-d.hailfinger.devel.2006 at gmx.net]
> Sent: Monday, December 22, 2008 6:48 AM
> To: Myles Watson
> Cc: Marc Jones; Coreboot; jordan at cosmicpenguin.net
> Subject: Re: [coreboot] [RFC] Error out on implicit declarations
> 
> On 18.12.2008 19:33, Myles Watson wrote:
> > On Thu, Dec 18, 2008 at 11:08 AM, Marc Jones <marcj303 at gmail.com> wrote:
> >
> >> On Thu, Dec 18, 2008 at 10:22 AM, Myles Watson <mylesgw at gmail.com>
> wrote:
> >>
> >>> On Thu, Dec 18, 2008 at 7:52 AM, Jordan Crouse
> <jordan at cosmicpenguin.net
> >>>
> >>> wrote:
> >>>
> >>>> Myles Watson wrote:
> >>>>
> >>>>> On Thu, Dec 18, 2008 at 3:18 AM, Carl-Daniel Hailfinger <
> >>>>> c-d.hailfinger.devel.2006 at gmx.net> wrote:
> >>>>>
> >>>>>
> >>>>>> Bao, Zheng found a bug which killed SATA booting on my board.
> >>>>>>
> >>>>>> This happened because we do not error out on implicit function
> >>>>>> declarations. The linker has no way of checking whether the
> implicitly
> >>>>>> assumed function signature is identical to the real signature, so
> >>>>>> mismatches can occur and these mismatches are practically
> impossible
> >>>>>> to debug because the code looks completely correct.
> >>>>>>
> >>>>>> Adding -Werror-implicit-function-declaration to our CFLAGS would
> solve
> >>>>>> this problem nicely, but a lot of files in the tree need to be
> fixed.
> >>>>>>
> >>>>>>
> >>>>> I think this is a great idea.  Isn't the correct order to fix all
> the
> >>>>> warnings, then make it an error?
> >>>>>
> >>>> Yeah - the unfortunate thing about changes like this is that you end
> up
> >>>> being responsible for fixing the errors.. :)
> >>>>
> >>>
> >>>> Carl-Daniel - if you post a list of offending files, we'll all help
> >>>> clear them up.  Dumping the log through grep "implicit
> >>>> declaration of function" should suffice.
> >>>>
> > I'm attaching a patch which I thought was trivial, but breaks things all
> > over the place.  I'm not sure how this will need to be done.  It looks
> like
> > a problem with romcc vs. CAR.
> >
> 
> Try this patch. It passes abuild.
> 
> Regards,
> Carl-Daniel
> 
> Fix implicit declarations of pci_read_config8 and pci_write_config8 in
> the following files:
> src/mainboard/intel/jarrell/reset.c
> src/mainboard/supermicro/x6dai_g/reset.c
> src/mainboard/supermicro/x6dhe_g2/reset.c
> src/mainboard/supermicro/x6dhe_g/reset.c
> src/mainboard/supermicro/x6dhr_ig2/reset.c
> src/mainboard/supermicro/x6dhr_ig/reset.c
> 
> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Acked-by: Myles Watson <mylesgw at gmail.com>

Thanks,
Myles





More information about the coreboot mailing list