Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 May 2016 10:28:58 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Karl Denninger <karl@denninger.net>, freebsd-arm@freebsd.org
Subject:   Re: Still blowing up -- RPI2 crossbuild
Message-ID:  <1463848138.1180.361.camel@freebsd.org>
In-Reply-To: <6641057b-9bc0-7e0a-b50b-cac8d1cf1d82@denninger.net>
References:  <6641057b-9bc0-7e0a-b50b-cac8d1cf1d82@denninger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2016-05-21 at 11:10 -0500, Karl Denninger wrote:
> From an AMD64 machine using the "mk" script, now that hardware
> floating-point has turned into the default it appears that at the
> same
> time an include file has gone missing.
> 
> I get:
> 
> --- flt_rounds.So ---
> cc  -fpic -DPIC  -O -pipe   -I/pics/CrossBuild/src/lib/libc/include
> -I/pics/CrossBuild/src/lib/libc/../../include
> -I/pics/CrossBuild/src/lib/libc/arm -DNLS  -D__DBINTERFACE_PRIVATE
> -I/pics/CrossBuild/src/lib/libc/../../contrib/gdtoa
> -I/pics/CrossBuild/src/lib/libc/../../contrib/libc-vis -DINET6
> -I/pics/CrossBuild/obj/arm.armv6/pics/CrossBuild/src/lib/libc
> -I/pics/CrossBuild/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE
> -I/pics/CrossBuild/src/lib/libc/../libmd
> -I/pics/CrossBuild/src/lib/libc/../../contrib/jemalloc/include
> -I/pics/CrossBuild/src/lib/libc/../../contrib/tzcode/stdtime
> -I/pics/CrossBuild/src/lib/libc/stdtime
> -I/pics/CrossBuild/src/lib/libc/locale -DBROKEN_DES -DPORTMAP
> -DDES_BUILTIN -I/pics/CrossBuild/src/lib/libc/rpc -DYP -DNS_CACHING
> -DSYMBOL_VERSIONING -MD  -MF.depend.flt_rounds.So -MTflt_rounds.So
> -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k
> -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body
> -Wno-string-plus-int -Wno-unused-const-variable
> -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality
> -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
> -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter 
> -Qunused-arguments  -I/pics/CrossBuild/src/lib/libutil
> -I/pics/CrossBuild/src/lib/msun/arm 
> -I/pics/CrossBuild/src/lib/msun/src
> -c /pics/CrossBuild/src/lib/libc/arm/gen/flt_rounds.c -o
> flt_rounds.So
> /pics/CrossBuild/src/lib/libc/arm/gen/flt_rounds.c:34:10: fatal
> error:
> 'softfloat-for-gcc.h' file not found
> #include "softfloat-for-gcc.h"
>          ^
> 1 error generated.
> *** [flt_rounds.So] Error code 1
> 
> The code in question in flt_rounds.c is:
> 
> #include <fenv.h>
> #include <float.h>
> 
> #ifndef __ARM_PCS_VFP
> #include "softfloat-for-gcc.h"
> #include "milieu.h"
> #include "softfloat.h"
> #endif
> 
> And indeed in src/lib/libc/arm/softfloat that file is not there (the
> other two are)
> 
> Adding "#define    __ARM_PCS_VFP" (so the test for those three
> includes
> always fails) appears to work. 
> 
> But then the crossbuild blows up here:
> 
> --- kerberos5/lib/libhdb__L ---
> hdb-sqlite.So: In function `hdb_sqlite_make_database':
> /pics/CrossBuild/src/kerberos5/lib/libhdb/../../../crypto/heimdal/lib
> /hdb/hdb-sqlite.c:(.text+0x480):
> undefined reference to `__aeabi_dcmpeq'
> cc: error: linker command failed with exit code 1 (use -v to see
> invocation)
> *** [libhdb.so.11] Error code 1
> 
> bmake[4]: stopped in /pics/CrossBuild/src/kerberos5/lib/libhdb
> 1 error
> 
> bmake[4]: stopped in /pics/CrossBuild/src/kerberos5/lib/libhdb
> *** [kerberos5/lib/libhdb__L] Error code 2
> 
> Will see what I can find later on this...
> 

If that mk script is adding -DNO_CLEAN for you, that might be the
problem.  I've had no problems doing a crossbuild after updating to the
armv6hf->armv6 change, but I started with "rm -rf obj/*" in my build
sandbox to be sure I got a new crosscompiler built first.

-- Ian




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1463848138.1180.361.camel>