Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1310934
| From | Kalle Valo <kvalo@codeaurora.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: brcmfmac build failure with gcc < 4.3 due to __UNIQUE_ID() clash |
| Date | 2016-01-16 13:10 +0100 |
| Message-ID | <qRxQ5-486-3@gated-at.bofh.it> (permalink) |
| References | <qQWGT-3K7-21@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Geert Uytterhoeven <geert@linux-m68k.org> writes: > On Wed, Jan 13, 2016 at 5:55 AM, Linux Kernel Mailing List > <linux-kernel@vger.kernel.org> wrote: >> Commit: 46d703a775394e4724509ff55cdda41d228c028c >> brcmfmac: Unify methods to define and map firmware files. > [...] > This change breaks the build with gcc < 4.3: > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:598: > error: redefinition of ‘__UNIQUE_ID_firmware598’ > drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:598: > error: previous definition of ‘__UNIQUE_ID_firmware598’ was here > drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:599: > error: redefinition of ‘__UNIQUE_ID_firmware600’ > drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:599: > error: previous definition of ‘__UNIQUE_ID_firmware600’ was here > ... > > The reason is that BRCMF_FW_NVRAM_DEF() expands to two instances of > MODULE_FIRMWARE(): > >> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h >> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h >> >> +#define BRCMF_FW_NVRAM_DEF(fw_nvram_name, fw, nvram) \ >> +static const char BRCM_ ## fw_nvram_name ## _FIRMWARE_NAME[] = \ >> + BRCMF_FW_DEFAULT_PATH fw; \ >> +static const char BRCM_ ## fw_nvram_name ## _NVRAM_NAME[] = \ >> + BRCMF_FW_DEFAULT_PATH nvram; \ >> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH fw); \ >> +MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH nvram) > > When compiling using gcc < 4.3, __UNIQUE_ID() uses __LINE__ instead of > __COUNTER__, as the latter is not available. Hence it derives a "unique" ID > from the same source line number, causing a redefinition. Hante, what should we do? We need to fix this build breakage ASAP. -- Kalle Valo
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: brcmfmac build failure with gcc < 4.3 due to __UNIQUE_ID() clash Kalle Valo <kvalo@codeaurora.org> - 2016-01-16 13:10 +0100
csiph-web