Re: armhf SIGILL, Illegal Instruction
On Wed, Sep 29, 2021 at 5:05 PM peter green <plugwash@p10link.net> wrote:
>
> As I understand it, there are two variants of "VFPv3", a version with 32 double registers (d0 to d31) and a version with only 16 double registers (d0 to d16).
> The former is reffered to by gcc as "vfpv3" while the latter is reffered to by gcc as "vfpv3_d16".
>
> Debian is supposed to support vfpv3_d16 but because there is relatively little hardware out there that doesn't support the extra registers bugs may take a while
> to get noticed.
>
> So IMO this is a bug in the compiler that is generating that code. What i'm not so sure about is whether selecting the correct compilation settings is the
> responsibility of the frontend (ldc) or the backend (llvm).
Shouldn't that show up in the build logs? You should see 'gcc
-march=armv7 -fpu=vfpv3-d16 ...'? Also see
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html .
I'm used to building with -fpu=neon, so I'm not too familiar with a
fpu that does not do NEON. But I seem to recall we needed something
similar for early Android devices.
( I also have never used ldc, so my [limited] knowledge must really be old...).
Jeff
Reply to: