mariadb106-client fails to build on netbsd 10 aarch64, protected branch instructions
Greg Troxel <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.packages |
|---|---|
| Message-ID | <[email protected]> |
On NetBSD 10 aarch64 (from a few weeks ago), mariadb106-client fails to build: /tmp//ccG4aESO.s: Assembler messages: /tmp//ccG4aESO.s:43: Error: selected processor does not support `bti j' /tmp//ccG4aESO.s:49: Error: selected processor does not support `bti j' /tmp//ccG4aESO.s:129: Error: selected processor does not support `bti j' /tmp//ccG4aESO.s:144: Error: selected processor does not support `bti j' /tmp//ccG4aESO.s:223: Error: selected processor does not support `bti j' --- libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_context.c.o --- *** [libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_context.c.o] Error code 1 make[2]: stopped in /tmp/work/databases/mariadb106-client/work/mariadb-10.6.23 1 error I dimly remember this from before. There is an #if in the sources to use the opcode instead of the assembly for older gcc, and if I change that to use opcode for gcc10 it builds. But the error is not that gcc is unhappy with bti, but that our assembler thinks that aarch64 as netbsd defines it does not necessarily have bti instructions. As I understand things, bti is supposed to be a nop for processors that don't implement branch protection. Does anyone understand this better, in terms of being able to recommend: our assembler is buggy bti is not ok to use ?