Date: Tue, 2 Apr 2019 20:31:12 +0000 From: John F Carr <jfc@mit.edu> To: bob prohaska <fbsd@www.zefox.net> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, "freebsd-ports@freebsd.org" <freebsd-ports@freebsd.org> Subject: Re: RPI3, error: invalid operand in inline asm: 'rev16 ${0:w}, ${1:w}' Message-ID: <DD8176DE-9D48-4EC2-8895-5375C9D1C851@exchange.mit.edu> In-Reply-To: <20190402180909.GA31620@www.zefox.net> References: <20190330152327.GA11933@www.zefox.net> <236A3D25-0B4D-46DA-95BA-71DA505CC2E0@exchange.mit.edu> <20190402015956.GA27268@www.zefox.net> <28F4BF7B-4391-4A4B-ABEC-36A154F9FAE2@exchange.mit.edu> <20190402161713.GA30854@www.zefox.net> <20190402180909.GA31620@www.zefox.net>
next in thread | previous in thread | raw e-mail | index | archive | help
>=20 > On Apr 2, 2019, at 14:09 , bob prohaska <fbsd@www.zefox.net> wrote: >=20 > On Tue, Apr 02, 2019 at 09:17:13AM -0700, bob prohaska wrote: >> On Tue, Apr 02, 2019 at 10:39:42AM +0000, John F Carr wrote: >>>=20 >>> The problem I mentioned is with the system. I filed a bug: >>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D236920 >>>=20 >>> If you change the system header /usr/include/machine/endian.h >>> according to the path in that bug report, does chromium compile? >>=20 >> The patch applied without difficulty and I've restarted the make >> process using portmaster-devel.=20 >>=20 >=20 > The compile stopped again, seemingly with the same error, unchanged. >=20 > Oddly, there's also an error immediately before, which has been seen > before but I thought has been fixed at some point,=20 >=20 > In file included from ../../base/third_party/libevent/event.c:49: > In file included from /usr/include/signal.h:42: > /usr/include/machine/ucontext.h:46:2: error: unknown type name '__uint128= _t' > __uint128_t fp_q[32]; > ^ > 1 error generated. >=20 > The relevant parts of the console output are at >=20 > http://www.zefox.net/~fbsd/rpi3/portmaster/chromium/r345516/console.txt >=20 > in case anybody's willing to take a look. >=20 > Thanks for reading, >=20 > bob prohaska I looked a little closer and figured out why it's failing. The chromium po= rt compiles with options "--target=3Darm-linux-gnueabihf -march=3Darmv7-a".= That means it's using a Linux ABI on 32 bit ARM v7. The byte reverse fun= ctions in machine/endian.h do not work with that target. I think the rev* = instructions don't exist in ARM v7. Does chromium come with object files built for ARM7a on Linux, so that targ= et has to be used?=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DD8176DE-9D48-4EC2-8895-5375C9D1C851>