[Buildroot] [PATCH] package/mesa3d: fix build on m68k

Yann E. MORIN yann.morin.1998 at free.fr
Sat Sep 18 12:47:39 UTC 2021


Giulio, All,

On 2021-09-15 00:10 +0200, Giulio Benetti spake thusly:
> To build mesa3d for m68k we need to pass -mlong-jump-table-offsets CFLAG
> since 'switch' blocks are pretty wide and lead to build failure. This way
> 'switch' blocks will have a 32-bit addressing by default instead of the
> standard 16-bit.
> 
> Fixes:
> http://autobuild.buildroot.net/results/60c4653c2a93125edbdd0beb43cd47301643464a/
> 
> Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
> ---
>  package/mesa3d/mesa3d.mk | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 54b50f684f..809a7d8e88 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -259,4 +259,13 @@ else
>  MESA3D_CONF_OPTS += -Dzstd=disabled
>  endif
>  
> +MESA3D_CFLAGS = $(TARGET_CFLAGS)
> +
> +# m68k needs 32-bit offsets in switch tables to build
> +ifeq ($(BR2_m68k),y)
> +MESA3D_CFLAGS += -mlong-jump-table-offsets

That option has only been added to gcc-7 [0] [1], which makes gcc >= 7 a
pre-requisite for m68k, while mesa3d currently has no such requirement.
Maybe add something like:

    depends on !BR2_m68k || BR2_TOOLCHAIN_GCC_AT_LEAST_7

Then it should be propagated to the few packages that select mesa3d;

    package/intel-mediadriver/
        -> not needed, already depends on x86_64, so implies !m68k

    package/x11r7/xdriver_xf86-video-imx-viv/
        -> this should not be needed either, because imx is an ARM, but
           xdriver_xf86-video-imx-viv is missing a depends on BR2_arm
           (although the comments do have that dependency). However, it
           depends on other imx related packages, and they depend on
           either arm or aarch64, so that implies !m68k.

So, no need to propagate the new dependency.

[0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583#c15
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583#c16

Regards,
Yann E. MORIN.

> +endif
> +
> +MESA3D_CONF_OPTS += -DCMAKE_C_FLAGS="$(MESA3D_CFLAGS)"
> +
>  $(eval $(meson-package))
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at lists.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.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list