Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jun 2011 09:59:04 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Mark Tinguely <marktinguely@gmail.com>
Cc:        freebsd-current@freebsd.org, Hans Petter Selasky <hselasky@c2i.net>
Subject:   Re: Crossbuild failure on 8-stable
Message-ID:  <BANLkTimN51uSbBcVUExO--ZNthmAwfBYPA@mail.gmail.com>
In-Reply-To: <4E0CA0D0.6050500@gmail.com>
References:  <201106301122.36155.hselasky@c2i.net> <4E0CA0D0.6050500@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 30, 2011 at 9:14 AM, Mark Tinguely <marktinguely@gmail.com> wro=
te:
> On 6/30/2011 4:22 AM, Hans Petter Selasky wrote:
>>
>> Hi,
>>
>> Trying to cross build ARM fails in the following way on 8-stable:
>>
>> 8.2-STABLE FreeBSD 8.2-STABLE #1: Wed Jun 29 13:09:23 UTC 2011
>>
>> make toolchain TARGET=3Darm
>>
>> Is this perhaps also an issue in 9-current?
>>
>> Any clues?
>>
>> cc -O -pipe =A0-ffreestanding -Wformat -I/usr/src/lib/libstand -msoft-fl=
oat
>> -
>> D_STANDALONE -DBZ_NO_STDIO -DBZ_NO_COMPRESS -DHAVE_MEMCPY -
>> I/usr/src/lib/libstand/../libz -std=3Dgnu99 =A0-c
>> /usr/src/lib/libstand/../libc/net/ntoh.c
>> {standard input}: Assembler messages:
>> {standard input}:27: Error: bad instruction `bswap r0'
>> {standard input}:53: Error: bad instruction `bswap r0'
>>
>
> and you also said:
>
>> Tracing down the issue:
>>
>> /usr/include/machine/endian.h
>>
>> #define __byte_swap_int_var(x) \
>> __extension__ ({ register __uint32_t __X =3D (x); \
>> =A0 =A0__asm ("bswap %0" : "+r" (__X)); \
>> =A0 =A0__X; })
>>
>> r0 looks like an ARM register passed to a non-arm assembler. I'm going t=
o
>> try:
>>
>
> Looks like you have an ARM compiler/assembler because the assembler rejec=
ts
> the i386/amd64 "bswap" assembly command.
>
> Does anyone remember if the cross compiler has the cross include paths
> compiled into them or should there be a "-I" in the compile command to
> correctly expand the "#include <machine/endian.h>" ? I thought the cross
> path was compiled into the cross compiler.
>
> You manually test the "cc" command with the included "-I" option.

Adding -v to the command line might yield more interesting results in
tracking down the culprit header.
-Garrett



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