[Buildroot] [autobuild.buildroot.net] Build results for 2016-03-01

Peter Korsgaard peter at korsgaard.com
Wed Mar 2 15:18:48 UTC 2016


>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at free-electrons.com> writes:

Hi,

 >> This is probably something that nginx developers should fix (perhaps
 >> by using a standardised configuration system?) but why I turn to the
 >> list is to ask if the autobuild logs return "big endian" for all
 >> platforms, and to suggest that perhaps this should be flagged somehow.

 > I'm not sure what you're flagging here. The configure script seems to
 > properly detect that SPARC is big endian, which looks alright.

The point seems to be that it is _ALWAYS_ claiming big endian, E.G. see
this arm (not armeb!) build failure:

http://autobuild.buildroot.net/results/382/382699bbed15f598625b9296e464d1349ef559f8/build-end.log

Looking at ./auto/endianess, it tries to figure out endianess by
building and executing a test program, and selecting little endian if
the program exited with error code 0, otherwise big endian.

As this is done with the cross compiler and the executable cannot be run
on the build host, the program (-loader) will exit with a non-zero exit
code and big endian is used:

echo $ngx_n "checking for system byte ordering ...$ngx_c"
echo >> $NGX_ERR
echo "checking for system byte ordering" >> $NGX_ERR


cat << END > $NGX_AUTOTEST.c

int main() {
    int i = 0x11223344;
    char *p;

    p = (char *) &i;
    if (*p == 0x44) return 0;
    return 1;
}

END

ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
          -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"

eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"

if [ -x $NGX_AUTOTEST ]; then
    if $NGX_AUTOTEST >/dev/null 2>&1; then
        echo " little endian"
        have=NGX_HAVE_LITTLE_ENDIAN . auto/have
    else
        echo " big endian"
    fi

So this is horrible broken :/

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list