Fwd: DragonFly ISO release build failure

YONETANI Tomokazu qhwt+dragonfly-bugs at les.ath.cx
Mon Aug 9 02:46:39 PDT 2004


On Sun, Aug 08, 2004 at 07:23:55PM +0200, Simon 'corecode' Schubert wrote:
> >cc -O -pipe -mtune=pentiumpro -D_GNU_SOURCE -I.  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/i386  
> >-I/usr/src/gnu/usr.bin/binutils/gdb  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/../libbfd/i386  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/binutils/ 
> >include -Dprint_insn_i386=print_insn_i386_att  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/i386  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/binutils/ 
> >binutils  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/binutils/bfd  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb  
> >-I/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/config  
> >-DFREEBSD_ELF -I/usr/src/gnu/usr.bin/binutils/gdb  
> >-I/usr/obj/usr/src/world_i386/usr/include/readline -DNO_MMALLOC    -c  
> >/usr/src/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c
> >/usr/src/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c: In function  
> >`i386_float_info':
> >/usr/src/gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c:354: error:  
> >structure has no member named `pcb_savefpu'
> >*** Error code 1

This breakage is revealed by sys/sys/param.h,1.16.
Here's a list of files containing a keyword __FreeBSD_version but none of
__FreeBSD__ or __DragonFly__ .

  contrib/file/readelf.c
  contrib/ipfilter/HISTORY
  contrib/ipfilter/common.c
  contrib/ipfilter/ipmon.c
  contrib/ipfilter/ip_h323_pxy.c
  contrib/ipfilter/ipsend/44arp.c
  contrib/ipfilter/ipsend/ip.c
  contrib/ipfilter/ipsend/resend.c
  contrib/ipfilter/ipsend/sbpf.c
  contrib/ipfilter/ipsend/sock.c
  contrib/ipfilter/ipnat.c
  contrib/ipfilter/natparse.c
  contrib/ipfilter/parse.c
  contrib/ipfilter/printnat.c
  contrib/ipfilter/printstate.c
  contrib/isc-dhcp/includes/cf/freebsd.h
  contrib/perl5/mg.c
  contrib/smbfs/lib/smb/subr.c
  crypto/openssl/crypto/engine/hw_cryptodev.c
  gnu/usr.bin/binutils/gdb/i386/freebsd-nat.c
  kerberos5/include/config.h
  release/Makefile.inc.docports
  release/picobsd/build/picobsd
  release/picobsd/tinyware/ns/ns.c
  sbin/kldconfig/kldconfig.c
  sbin/mount_hpfs/mount_hpfs.c
  sbin/mount_ntfs/mount_ntfs.c
  share/examples/isdn/ThankYou
  sys/dev/acpica5/acpi.c
  sys/dev/acpica5/acpi_thermal.c
  sys/dev/acpica5/acpi_timer.c
  sys/dev/netif/ndis/if_ndis.c
  sys/dev/netif/ndis/if_ndisvar.h
  sys/emulation/ndis/kern_ndis.c
  sys/emulation/ndis/subr_ndis.c
  sys/emulation/ndis/subr_ntoskrnl.c
  sys/i386/acpica5/acpi_wakeup.c
  usr.bin/gcore/elfcore.c
  usr.sbin/amd/include/build_version.h
  usr.sbin/fwcontrol/fwdv.c
  usr.sbin/pkg_install/add/main.c
  usr.sbin/pkg_install/add/perform.c
  usr.sbin/pkg_install/lib/file.c
  usr.sbin/pkg_install/lib/lib.h
  usr.sbin/pkg_install/lib/url.c

This may not cover all the cases, and contains false positive
(but never looks correct) like this:
#if __FreeBSD_version < 500000
	...
#endif

but maybe these are good places to start looking at.

Most of breakages are caused by the comparison against undefined
__FreeBSD_version, which evaluates to zero.

(A)
#if __FreeBSD_version > 300000
# include <sys/foobar.h>
#endif

or

(B)
#if __FreeBSD_version <= 201100
int foobar = 1;
#endif





More information about the Bugs mailing list