[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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...).


Reply to: