package/mesa3d: fix build on m68k
authorGiulio Benetti <giulio.benetti@benettiengineering.com>
Sun, 19 Sep 2021 00:51:54 +0000 (02:51 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sun, 19 Sep 2021 08:08:24 +0000 (10:08 +0200)
commit2fe3a8f81b0507260b76e0a2734671e763180e7a
treeff648648721f130d5ff622af6823f053becaf04a
parent02ea01ea22e94ef353a638bf16f62f6e3ed1208e
package/mesa3d: fix build on m68k

mesa3d uses very big switch statements, which causes the build to fail
on m68k, beause the offsets there are only 16-bit.

We fix that by using -mlong-jump-table-offsets on m68k, to use 32-bit
offsets for switch statements, but this is only available starting with
gcc 7 [0] [1].

Fixes:
http://autobuild.buildroot.net/results/60c4653c2a93125edbdd0beb43cd47301643464a/

Note: we have two packages that select mesa3d, but:
    package/intel-mediadriver/
        -> already depends on x86_64, so implies !m68k

    package/x11r7/xdriver_xf86-video-imx-viv/
        -> 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.

As such, we do not need to propagate that 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

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[yann.morin.1998@free.fr:
  - add comment
  - reword commit log, add BZ references, add non-propagation notes
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/mesa3d/Config.in
package/mesa3d/mesa3d.mk