Date: Thu, 01 Apr 2021 10:47:49 +0200 From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= <mgorny@gentoo.org> To: Ronald Klop <ronald-lists@klop.ws>, freebsd-ports@freebsd.org, freebsd-arm@freebsd.org Subject: Re: Illegal instruction on new port mongodb49 on arm64 Message-ID: <dc54a8d4ee2ca73f41930681348bc9b2a3e89376.camel@gentoo.org> In-Reply-To: <1071728798.124.1617266260257@localhost> References: <1071728798.124.1617266260257@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2021-04-01 at 10:37 +0200, Ronald Klop wrote: > Hi, > > I created a new port for mongodb49: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254631 > It compiles fine: https://www.klop.ws/mongodb49-4.9.0.r0.log > > When I run an application I get "Illegal Instruction" error. > > ============================================================== > [root@rpi4 /tmp]# lldb /usr/local/bin/mongo > (lldb) target create "/usr/local/bin/mongo" > Current executable set to '/usr/local/bin/mongo' (aarch64). > (lldb) run > Process 55420 launching > Process 55420 launched: '/usr/local/bin/mongo' (aarch64) > Process 55420 stopped > * thread #1, name = 'mongo', stop reason = signal SIGILL: illegal trap > frame #0: 0x00000000016a320c mongo`___lldb_unnamed_symbol32$$mongo + 1784 > mongo`___lldb_unnamed_symbol32$$mongo: > -> 0x16a320c <+1784>: ldaddal x9, x8, [x8] According to [1], this instruction requires ARMv8.1. If I grep correctly, rpi4 is ARMv8-A. Yet you're compiling with -march=armv8.2-a, so it's a case of wrong -march. [1] https://developer.arm.com/documentation/100069/0608/A64-Data-Transfer-Instructions/LDADDA--LDADDAL--LDADD--LDADDL--LDADDAL--LDADD--LDADDL -- Best regards, Michał Górny
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dc54a8d4ee2ca73f41930681348bc9b2a3e89376.camel>