Re: [PATCH 1/2] staging: brcm80211: assure common sources are truly common

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

 



On Sun, Jan 23, 2011 at 08:30:38AM +0100, Arend van Spriel wrote:
> Common code for brcm80211 drivers was resulting in different compiled
> object files for the drivers due to compilation flags. This has been
> aligned so that they are resulting in same object files. Kconfig now
> allows both drivers to be build simultaneously.

I committed this patch, but now I wish I hadn't.

It works when you build with only one process, but a simple:
	make -j8 M=drivers/staging/brcm80211/
will cause lots of fun races in the build system and break things with
errors that look like this:

objdump: 'drivers/staging/brcm80211/brcmsmac/../util/.tmp_bcmutils.o': No such file
mv: cannot stat `drivers/staging/brcm80211/brcmsmac/../util/.tmp_bcmutils.o': No such file or directory
make[2]: *** [drivers/staging/brcm80211/brcmsmac/../util/bcmutils.o] Error 1
make[2]: *** Waiting for unfinished jobs....
  LD [M]  drivers/staging/brcm80211/brcmfmac/brcmfmac.o
objdump: 'drivers/staging/brcm80211/brcmsmac/../util/.tmp_hndpmu.o': No such file
mv: cannot stat `drivers/staging/brcm80211/brcmsmac/../util/.tmp_hndpmu.o': No such file or directory
make[2]: *** [drivers/staging/brcm80211/brcmsmac/../util/hndpmu.o] Error 1
make[1]: *** [drivers/staging/brcm80211/brcmsmac] Error 2
make: *** [_module_drivers/staging/brcm80211] Error 2

Not nice :(

The problem is that you are trying to build the same file from multiple
directories at the same time.

Instead, for now, "cheat" and have a .c file that includes the common .c
file and build that instead.  You only have to do this for one of the
drivers, not both, and you should be fine.

In the long run, make the common code a separate module so no
duplication is needed.

I've reverted this patch now as I don't want to break anyone else's
builds.

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux