[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