[PATCH 1/2] staging: brcm80211: assure common sources are truly common
Arend van Spriel
arend at broadcom.com
Tue Jan 25 11:34:32 UTC 2011
Hi Greg,
On Tue, 25 Jan 2011 12:07:30 +0100, Greg KH <greg at kroah.com> wrote:
> 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/
Ah, I tested it with -j2 which was apparently not enough to cause a
failure.
> 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.
Would a symbolic link also be a "cheat" here?
>
> 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
>
Gr. AvS
--
Using Opera's revolutionary email client: http://www.opera.com/mail/
More information about the devel
mailing list