pkgsrc-Users archive

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

Re: mariadb106-client fails to build on NetBSD 10 aarch64



mlelstv%serpens.de@localhost (Michael van Elst) writes:

> gdt%lexort.com@localhost (Greg Troxel) writes:
>
>>/tmp//cc11LXZf.s:43: Error: selected processor does not support `bti j'
>
>>BTI seems to be present on some aarch64 processors and not others, or
>>perhaps only does something on some.
>
> It's from the "Control Flow Integrity" feature that AFAIK was introduced
> in armv8.5-a. Older aarch64 processors treat the instruction as a NOP.

So it's ok for a program to end up with this instruction, in that it
will reliably either work or be a nop.

>>Reading the code, the bti instruction memonically is useed on gcc >=3D 9.1
>>and a hand-assembled opcode is used otherwise.  I locally patched that
>>to gcc > 10, so it would use the opcode.  That allowed the build to
>>continute.   Replacing the package and rebooting, mariadb still works.
>
> It's the assembler that has problems with that instruction, not the compiler.
>
> On the other hand, binutils-2.34 (that we use with netbsd-10) was released
> after binutils got support for armv8.5-a, no idea why it fails.

How should we patch mariadb?   Would it be reasonable to just always use
the hex opcode?

It is building on Darwin 23.6.0/aarch64 with clang, per BT, but there
are no NetBSD aarch64 builds.


Home | Main Index | Thread Index | Old Index