When I try to emerge bcm4400 with my gcc-3.3.1 compiler, I get the following: gcc -DMODULE -D__KERNEL__ -DDBG=0 -Wall -Wstrict-prototypes -O6 -I/lib/modules/2.4.22-ck2/build/include -c -o b44proc.o b44proc.c In file included from /lib/modules/2.4.22-ck2/build/include/asm/semaphore.h:39, from /lib/modules/2.4.22-ck2/build/include/linux/fs.h:202, from /lib/modules/2.4.22-ck2/build/include/linux/capability.h:17, from /lib/modules/2.4.22-ck2/build/include/linux/binfmts.h:5, from /lib/modules/2.4.22-ck2/build/include/linux/sched.h:9, from b44mm.h:42, from b44proc.c:16: /lib/modules/2.4.22-ck2/build/include/asm/system.h: In function `__set_64bit_var': /lib/modules/2.4.22-ck2/build/include/asm/system.h:189: warning: dereferencing type-punned pointer will break strict-aliasing rules /lib/modules/2.4.22-ck2/build/include/asm/system.h:189: warning: dereferencing type-punned pointer will break strict-aliasing rules In file included from /lib/modules/2.4.22-ck2/build/include/asm/semaphore.h:39, from /lib/modules/2.4.22-ck2/build/include/linux/fs.h:202, from /lib/modules/2.4.22-ck2/build/include/linux/capability.h:17, from /lib/modules/2.4.22-ck2/build/include/linux/binfmts.h:5, from /lib/modules/2.4.22-ck2/build/include/linux/sched.h:9, from b44mm.h:42, from b44um.c:19: /lib/modules/2.4.22-ck2/build/include/asm/system.h: In function `__set_64bit_var': /lib/modules/2.4.22-ck2/build/include/asm/system.h:189: warning: dereferencing type-punned pointer will break strict-aliasing rules /lib/modules/2.4.22-ck2/build/include/asm/system.h:189: warning: dereferencing type-punned pointer will break strict-aliasing rules b44um.c:506:46: pasting "->" and "intstatus" does not give a valid preprocessing token b44um.c:507:51: pasting "->" and "gptimer" does not give a valid preprocessing token make: *** [b44um.o] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: net-misc/bcm4400-1.0.1 failed. !!! Function src_compile, Line 20, Exitcode 2 !!! (no error message) IMHO the reason of the fault is gcc-3.3.1, because gcc-2.95.3 compiles bcm4400 perfect. But it is not a solution, coz my kernel is compiled with gcc-3.3.1 and bcm4400 module compiled with gcc-2.95.3 won`t work on my system. Reproducible: Always Steps to Reproduce: 1. update your gcc to 3.3.1 version 2. change system default compiler to gcc-3.3.1 3. emerge bcm4400 Actual Results: bcm4400 failed to compile. Expected Results: bcm4400 must compile :) # emerge info Portage 2.0.49-r4 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r1, 2.4.22-ck2) ================================================================= System uname: 2.4.22-ck2 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs userpriv" GENTOO_MIRRORS="ftp://awake.local/gentoo ftp://10.1.1.146/gentoo ftp://10.1.1.76/gentoo ftp://10.1.2.16/gentoo http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://awake.local/gentoo-portage" USE="x86 apm avi crypt cups encode foomaticdb gif jpeg mad mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb alsa gdbm readline tetex aalib svga ggi tcltk java guile mysql X sdl gpm tcpd pam libwww ssl perl python imlib oggvorbis gtk qt motif opengl cdr scanner 3dfx acpi amd apache2 dga fbcon gtk2 icc imagemagick maildir matroska mbox minimal mozaccess mozilla moznocompose moznoirc moznomail offensive samba sse tiff type1 usb xchattext xvid -oss -arts -kde -gnome -libg++ -berkdb -slang -esd"
Created attachment 17753 [details, diff] patch to fix. This was caused by a completely unnecessary #define in a header, probably to compensate for an obsolete gcc version.
Resolving as FIXED. The patch has been added to the bcm4400-1.0.1 ebuild in portage.