Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev



On Thu, May 26, 2011 at 02:33:38AM +0900, Masao Uebayashi wrote:
> >>
> >> Modified Files:
> >> ? ? ? src/sys/dev/bluetooth: bcsp.c bthub.c btuart.c
> >> ? ? ? src/sys/dev/ieee1394: fwdev.c fwmem.c fwohci.c
> >>
> >> Log Message:
> >> Declare cfdrivers using extern rather than including ioconf.h.
> >
> > surely the point of declaring a variable once in a header file is that it
> > then cannot be accidentally declared differently elsewhere?
> >
> > is ioconf.h so onerous? (it is merely a list of cfdriver declarations)
> 
> ioconf.h is not, but GCC is.
> 
> I found 2 fwmem.o's signatures mismatch between 2 kernels; GENERIC and
> another doing only "no ehci" and include GENERIC.  objdump -D shows:
> 
> @@ -956,7 +956,7 @@
>  0000000000000000 <.ident>:
>     0:  24 4e                   and    $0x4e,%al
>     2:  65                      gs
> -   3:  74 42                   je     47 <__func__.11035+0x11>
> +   3:  74 42                   je     47 <__func__.11034+0x11>
>     5:  53                      push   %rbx
>     6:  44 24 00                rex.R and    $0x0,%al
> 
> GCC definitely lacks care about reproducibility.

I don't think that you can expect the internal symbols generated by gcc to
match when code is compiled in different contexts.

If you want to compare .o files that are built with different compilation
options you really need to massage them somewhat first - or only compare
some sections.

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index