[Bug 258846] devel/dyncall: unbreak on arm

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 02 Oct 2021 14:50:07 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258846

--- Comment #6 from Tassilo Philipp <tphilipp@potion-studios.com> ---
Alright, I looked at it and ran some tests on 4 different arm platforms, and I
cannot accept it as-is, but it's close. The main issue is it only unbreaks arm
w/ the clang integrated assembler when not using THUMB (in other words, the
file you pointed out is not the only one to patch). I'll come up with a new
patch.

Details and/or other things while looking at it:

- the %-prefixes were probably used b/c of x86 habits, they should be removed
indeed, thanks!

- this is not the first time we have issues with clang's integrated assembler,
we needed to change some PPC code also for v1.2 to make it happy

- about the UAL/.syntax unified: this doesn't actually help for dyncall, b/c
the ARM and THUMB calling conventions differ enough to need their own
implementations, anyways.... yes, it would probably also be harmless to use
those instruction names, but pre-UAL toolchains might break (and we do actually
use dyncall on some of those); I'm surprised that you listed it under "issues
that prevent it from building on armv6/armv7", b/c I cannot reproduce that...

- depending on further tests, until v1.3 is out with the real fix, I might make
use of clang's -no-integrated-as to unbreak the build for the FreeBSD port...
I'll have a clearer picture, soon

- I don't think I'll add TEST_TARGET, for already pointed out reasons; I
understand that this isn't run automatically for the pkg building process, but
there is no point in running `make test` to only build (but not run) the tests
- the target you probably wanted isn't 'tests' but 'run-tests', and for those I
should fix some exit codes, first; as said, this is on my to do list for
dyncall 1.3


More to come, soon, thanks again for bringing this to my attention :)

-- 
You are receiving this mail because:
You are the assignee for the bug.