[Buildroot] [PATCH 1/1] moarvm: fix build on powerpc64 / powerpc64le
Arnout Vandecappelle
arnout at mind.be
Tue Sep 4 22:05:39 UTC 2018
On 04/09/2018 23:32, Fabrice Fontaine wrote:
> Build fails with:
> In file included from dyncall_callback.c:35:0:
> dyncall_callback_ppc64.c: In function 'dcbNewCallback':
> dyncall_callback_ppc64.c:42:13: warning: implicit declaration of function 'dcAllocWX' [-Wimplicit-function-declaration]
> int err = dcAllocWX(sizeof(DCCallback), (void**) &pcb);
> ^~~~~~~~~
> dyncall_callback_ppc64.c: In function 'dcbFreeCallback':
> dyncall_callback_ppc64.c:53:3: warning: implicit declaration of function 'dcFreeWX' [-Wimplicit-function-declaration]
> dcFreeWX(pcb, sizeof(DCCallback));
> ^~~~~~~~
> dyncall_callback_ppc64.S: Assembler messages:
> dyncall_callback_ppc64.S:180: Error: operand out of range (3 is not between 0 and 1)
>
> So select BR2_PACKAGE_LIBFFI for BR2_powerpc64 and BR2_powerpc64le as it
> is already done for MIPS
Upstream dyncall [1] has completely changed the ppc64 assembly file. But moarvm
hasn't updated its dyncall import in more than 3 years. So I agree switching to
libffi for ppc64.
In fact, we might want to switch to libffi unconditionally, instead of relying
on a bundled library that isn't updated...
For now, however:
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
Regards,
Arnout
[1] http://hg.dyncall.org/pub/dyncall/dyncall
>
> Fixes:
> - http://autobuild.buildroot.org/results/97b53a74d9847c07f26178daeb1daff3b6c24813
> - http://autobuild.buildroot.org/results/c35ac4bbc5fb04aabf5a719eddeedf55f7f1f4eb
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
> package/moarvm/Config.in | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/package/moarvm/Config.in b/package/moarvm/Config.in
> index 3ff4f827e0..c966b25738 100644
> --- a/package/moarvm/Config.in
> +++ b/package/moarvm/Config.in
> @@ -12,7 +12,8 @@ config BR2_PACKAGE_MOARVM
> select BR2_PACKAGE_LIBATOMIC_OPS
> # dyncall does not work on MIPS; libffi needs to be used.
> # See: https://github.com/MoarVM/MoarVM/issues/222
> - select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
> + # dyncall does not work also on powerpc64 and powerpc64le
> + select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc64 | BR2_powerpc64le
> help
> Short for "Metamodel On A Runtime", MoarVM is a virtual
> machine built especially for Rakudo Perl 6 and the NQP
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list