On 01/24/2012 09:59 PM, Mike Frysinger wrote: > On Tuesday 24 January 2012 12:56:15 Ralf Corsepius wrote: >> gdb-7.4's bfin simulator fails to build for bfin-rtems* targets on >> Fedora 17/RH rawhide: >> >> .... >> In file included from /usr/include/linux/ethtool.h:17:0, >> from /usr/include/linux/mii.h:12, >> from ../../../gdb-7.4/sim/bfin/dv-eth_phy.c:31: >> /usr/include/linux/if_ether.h:130:2: error: unknown type name '__be16' >> In file included from /usr/include/linux/mii.h:12:0, >> from ../../../gdb-7.4/sim/bfin/dv-eth_phy.c:31: >> /usr/include/linux/ethtool.h:21:2: error: unknown type name '__u32' >> /usr/include/linux/ethtool.h:22:2: error: unknown type name '__u32' >> /usr/include/linux/ethtool.h:23:2: error: unknown type name '__u32' >> /usr/include/linux/ethtool.h:28:2: error: unknown type name '__u8' >> /usr/include/linux/ethtool.h:29:2: error: unknown type name '__u8' >> /usr/include/linux/ethtool.h:30:2: error: unknown type name '__u8' >> /usr/include/linux/ethtool.h:31:2: error: unknown type name '__u8' >> /usr/include/linux/ethtool.h:32:2: error: unknown type name '__u8' >> /usr/include/linux/ethtool.h:33:2: error: unknown type name '__u8' >> /usr/include/linux/ethtool.h:34:2: error: unknown type name '__u32' >> /usr/include/linux/ethtool.h:35:2: error: unknown type name '__u32' >> ... >> >> The same configuration builds fine for Fedora 15/16 and openSUSE-11.4/12.1. >> >> From what I gather, the bfin simulator chokes upon kernel header >> incompatiblities. > > hmm, in linux-3.2 (and older), linux/mii.h doesn't include anything else. > seems linux-3.3-rc1 has started including linux/ethtool.h too. however, that > is unnecessary for userspace, so i'll probably send a patch to move the > include to __KERNEL__. > > dv-eth_phy.c has some hacks in it to make it build with even older kernel > headers. maybe i should have it just not build that driver on older systems > rather than try to support it ... FWIW: With the patch below applied, gdb-7.4's bfin simulator at least builds for me (--target=bfin-rtems4.11) for Centos-{5,6}-{i386,x86_64}, fedora-{15,16,17}-{i386,x86_64} and openSUSE-{11.4,12.1}-{i586,x86_64}. Seems to me, as if some of the hacks aren't required on any of these distros and harmful on bleeding edge distros ;) Ralf