All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.