Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Francois Perrad <fperrad@gmail.com>
Cc: buildroot@busybox.net
Subject: Re: [Buildroot] [PATCH v2] package/luajit: fix luvi
Date: Thu, 11 Nov 2021 21:56:04 +0100	[thread overview]
Message-ID: <20211111205604.GC2609@scaer> (raw)
In-Reply-To: <20211110103107.421623-1-francois.perrad@gadz.org>

On 2021-11-10 11:31 +0100, Francois Perrad spake thusly:
> luvi uses the cross bytecode generation of host-luajit
> the bytecode format has 2 flavors, depending of GC64 option.
> 
> since the commit https://github.com/LuaJIT/LuaJIT/commit/bd00094c3b50e193fb32aad79b7ea8ea6b78ed25
> GC64 mode is enable by default on all 64bits platform.
> 
> with this patch, luajit and host-luajit are built with the same option,
> so the bytecode generated by host-luajit is valid on luajit.
> 
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  package/luajit/luajit.mk | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk
> index fbbd8ebc7..e93361ba3 100644
> --- a/package/luajit/luajit.mk
> +++ b/package/luajit/luajit.mk
> @@ -26,8 +26,10 @@ endif
>  # libraries are installed.
>  ifeq ($(BR2_ARCH_IS_64),y)
>  LUAJIT_HOST_CC = $(HOSTCC)
> +LUAJIT_XCFLAGS += -DLUAJIT_ENABLE_GC64

As I explained in a previous review, this is not sufficient, because we
currently still are allowed to create a configuration where the build
machine is a 32-bit system. but the target is 64-bit. This is not
supported by the luajit buildsystem, and is explictly documented.

This is partially covered but only for x86_64 where the condition in
BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS conditions it to HOSTARCH=x86_64.
But for Aarch64, this is not accounted for.

However, the BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS symbol is very unpleasant
to read. We usually write it in a way that is much easier to read and to
maintain; e.g. with the proper 64-bit condition added:

    config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
        bool
        default y if BR2_arm || BR2_armeb || BR2_aarch64
        default y if BR2_i386 || BR2_x86_64
        default y if BR2_powerpc
        default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT \
                && !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
        # -m32 flag is used for 32bit builds and host-luajit has
        # limited architecture support
        depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
        # Building for 64-bit target requires a 64-bit host
        depends on !BR2_ARCH_IS_64 || BR_HOST_ARCH="x86_64"

Can you please fix that?

Regards,
Yann E. MORIN.

>  else
>  LUAJIT_HOST_CC = $(HOSTCC) -m32
> +LUAJIT_XCFLAGS += -DLUAJIT_DISABLE_GC64
>  endif
>  
>  # We unfortunately can't use TARGET_CONFIGURE_OPTS, because the luajit
> -- 
> 2.32.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2021-11-11 20:56 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-10 10:31 [Buildroot] [PATCH v2] package/luajit: fix luvi Francois Perrad
2021-11-11 20:56 ` Yann E. MORIN [this message]
2021-11-11 21:06   ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211111205604.GC2609@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    --cc=fperrad@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox