Message ID | 20240221195520.1762497-1-bernd@kuhls.net |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/libffi: bump version to 3.4.6 | expand |
All: Reviewed-by: Adam Duskett <adam.duskett@amarulasolutions.com> Tested-by: Adam Duskett <adam.duskett@amarulasolutions.com> This is needed for host builds with gcc14. On Wed, Feb 21, 2024 at 12:55 PM Bernd Kuhls <bernd@kuhls.net> wrote: > > Removed patch 0001 and instead added new configure option > --disable-multi-os-directory which was added upstream: > https://github.com/libffi/libffi/commit/877ea9bf9ac2c98cb858c12f5a6aeeec13cf978f > > Removed patch 0003 due to various upstream fixes for mips soft-float > support since its addition in 2016: > https://github.com/libffi/libffi/commits/master/src/mips > > Renumbered remaining patch. > > Updated license hash due to copyright year bump: > https://github.com/libffi/libffi/commit/91739a1a912476adbf1e0e4dcb091b9a2c5007d9 > > Signed-off-by: Bernd Kuhls <bernd@kuhls.net> > --- > Build-tested using this defconfig: > > BR2_PACKAGE_LIBFFI=y > > Please note that the build failure with bootlin-armv7m-uclibc is > expected: > http://lists.busybox.net/pipermail/buildroot/2019-October/566384.html > > The remaining patch 0001 is still needed, builds with sourcery-mips* > toolchains failed without it. > > arm-aarch64 [ 1/45]: OK > bootlin-aarch64-glibc [ 2/45]: OK > bootlin-arcle-hs38-uclibc [ 3/45]: OK > bootlin-armv5-uclibc [ 4/45]: OK > bootlin-armv7-glibc [ 5/45]: OK > bootlin-armv7m-uclibc [ 6/45]: FAILED > bootlin-armv7-musl [ 7/45]: OK > bootlin-m68k-5208-uclibc [ 8/45]: OK > bootlin-m68k-68040-uclibc [ 9/45]: OK > bootlin-microblazeel-uclibc [10/45]: OK > bootlin-mipsel32r6-glibc [11/45]: OK > bootlin-mipsel-uclibc [12/45]: OK > bootlin-nios2-glibc [13/45]: OK > bootlin-openrisc-uclibc [14/45]: OK > bootlin-powerpc64le-power8-glibc [15/45]: OK > bootlin-powerpc-e500mc-uclibc [16/45]: OK > bootlin-riscv32-glibc [17/45]: OK > bootlin-riscv64-glibc [18/45]: OK > bootlin-riscv64-musl [19/45]: OK > bootlin-s390x-z13-glibc [20/45]: OK > bootlin-sh4-uclibc [21/45]: OK > bootlin-sparc64-glibc [22/45]: OK > bootlin-sparc-uclibc [23/45]: OK > bootlin-x86-64-glibc [24/45]: OK > bootlin-x86-64-musl [25/45]: OK > bootlin-x86-64-uclibc [26/45]: OK > bootlin-xtensa-uclibc [27/45]: OK > br-arm-basic [28/45]: OK > br-arm-full-nothread [29/45]: SKIPPED > br-arm-full-static [30/45]: OK > br-i386-pentium4-full [31/45]: OK > br-i386-pentium-mmx-musl [32/45]: OK > br-mips64-n64-full [33/45]: OK > br-mips64r6-el-hf-glibc [34/45]: OK > br-powerpc-603e-basic-cpp [35/45]: OK > br-powerpc64-power7-glibc [36/45]: OK > linaro-aarch64-be [37/45]: OK > linaro-aarch64 [38/45]: OK > linaro-arm [39/45]: OK > sourcery-arm-armv4t [40/45]: OK > sourcery-arm [41/45]: OK > sourcery-arm-thumb2 [42/45]: OK > sourcery-mips64 [43/45]: OK > sourcery-mips [44/45]: OK > sourcery-nios2 [45/45]: OK > 45 builds, 1 skipped, 1 build failed, 0 legal-info failed, 0 show-info failed > > ...-Fix-installation-location-of-libffi.patch | 55 ------------------- > ...ix-use-of-compact-eh-frames-on-MIPS.patch} | 4 +- > ...-hardfloat-in-the-MIPS-assembly-code.patch | 44 --------------- > package/libffi/libffi.hash | 4 +- > package/libffi/libffi.mk | 7 ++- > 5 files changed, 9 insertions(+), 105 deletions(-) > delete mode 100644 package/libffi/0001-Fix-installation-location-of-libffi.patch > rename package/libffi/{0002-Fix-use-of-compact-eh-frames-on-MIPS.patch => 0001-Fix-use-of-compact-eh-frames-on-MIPS.patch} (94%) > delete mode 100644 package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch > > diff --git a/package/libffi/0001-Fix-installation-location-of-libffi.patch b/package/libffi/0001-Fix-installation-location-of-libffi.patch > deleted file mode 100644 > index 6ac9123730..0000000000 > --- a/package/libffi/0001-Fix-installation-location-of-libffi.patch > +++ /dev/null > @@ -1,55 +0,0 @@ > -From 580f46a7bc6e9fea3a2227b5268cc3aed1d60e3b Mon Sep 17 00:00:00 2001 > -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -Date: Thu, 7 Feb 2013 22:26:56 +0100 > -Subject: [PATCH] Fix installation location of libffi > -MIME-Version: 1.0 > -Content-Type: text/plain; charset=UTF-8 > -Content-Transfer-Encoding: 8bit > - > -The libffi is currently declared as toolexeclib_LTLIBRARIES. In many > -cases, toolexeclib libraries will be installed in /usr/lib, so it > -doesn't make any difference. > - > -However, with multilib toolchains, they get installed in a > -subdirectory of /usr/lib/. For example, with a Sourcery CodeBench > -PowerPC toolchain, if the e500mc multilib variant is used, the libffi > -library gets installed in /usr/lib/te500mc/. This is due to the > -following code in the configure script: > - > - multi_os_directory=`$CC -print-multi-os-directory` > - case $multi_os_directory in > - .) ;; # Avoid trailing /. > - *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; > - esac > - > -Once the library is installed in /usr/lib/te500mc/, nothing works > -because this installation location is inconsistent with the > -installation location declared in libffi.pc. > - > -So, instead of using this bizarre toolexeclib_LTLIBRARIES, simply use > -the more standard lib_LTLIBRARIES, which ensures that the libffi > -library is always installed in /usr/lib. > - > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > -[unfuzz for 3.2.1] > -Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> > ---- > - Makefile.am | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/Makefile.am b/Makefile.am > -index 0e40451..309474c 100644 > ---- a/Makefile.am > -+++ b/Makefile.am > -@@ -104,7 +104,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) > - > - MAKEOVERRIDES= > - > --toolexeclib_LTLIBRARIES = libffi.la > -+lib_LTLIBRARIES = libffi.la > - noinst_LTLIBRARIES = libffi_convenience.la > - > - libffi_la_SOURCES = src/prep_cif.c src/types.c \ > --- > -2.5.3 > - > diff --git a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch > similarity index 94% > rename from package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch > rename to package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch > index c19e395f90..7786b984a2 100644 > --- a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch > +++ b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch > @@ -15,6 +15,8 @@ Mips and compiler support it. > Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> > [unfuzz for 3.2.1] > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> > +[rebased for 3.4.6] > +Signed-off-by: Bernd Kuhls <bernd@kuhls.net> > --- > configure.ac | 10 ++++++++++ > 1 file changed, 10 insertions(+) > @@ -23,7 +25,7 @@ diff --git a/configure.ac b/configure.ac > index a7bf5ee..36cd0d4 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -469,6 +469,16 @@ esac > +@@ -238,6 +238,16 @@ esac > AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) > AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) > > diff --git a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch > deleted file mode 100644 > index 168972a871..0000000000 > --- a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch > +++ /dev/null > @@ -1,44 +0,0 @@ > -From 48bc37fabbc685b1e3293055bd33ca66c619305e Mon Sep 17 00:00:00 2001 > -From: Vicente Olivert Riera <Vincent.Riera@imgtec.com> > -Date: Wed, 13 Jan 2016 14:49:59 +0000 > -Subject: [PATCH] libffi: enable hardfloat in the MIPS assembly code > - > -This way it will be possible to build it for soft-float. This is only a > -temporary fix. The package needs to be fixed properly. > - > -Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> > -[Update for 3.3-rc0] > -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > ---- > - src/mips/n32.S | 1 + > - src/mips/o32.S | 1 + > - 2 files changed, 2 insertions(+) > - > -diff --git a/src/mips/n32.S b/src/mips/n32.S > -index c6985d3..dc842d5 100644 > ---- a/src/mips/n32.S > -+++ b/src/mips/n32.S > -@@ -44,6 +44,7 @@ > - #endif > - #if !defined(__mips_isa_rev) || (__mips_isa_rev<6) > - .set mips4 > - #endif > -+ .set hardfloat > - .text > - .align 2 > - .globl ffi_call_N32 > -diff --git a/src/mips/o32.S b/src/mips/o32.S > -index eb27981..b653daf 100644 > ---- a/src/mips/o32.S > -+++ b/src/mips/o32.S > -@@ -42,6 +42,7 @@ > - #define RA_OFF (SIZEOF_FRAME - 1 * FFI_SIZEOF_ARG) > - > - .abicalls > -+ .set hardfloat > - .text > - .align 2 > - .globl ffi_call_O32 > --- > -2.4.10 > - > diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash > index 8d2349ec21..c2ef588f6b 100644 > --- a/package/libffi/libffi.hash > +++ b/package/libffi/libffi.hash > @@ -1,4 +1,4 @@ > # Locally calculated > -sha256 d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676 libffi-3.4.4.tar.gz > +sha256 b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e libffi-3.4.6.tar.gz > # License files, locally calculated > -sha256 2c9c2acb9743e6b007b91350475308aee44691d96aa20eacef8e199988c8c388 LICENSE > +sha256 67894089811f93fca47a76f85e017da6f8582d4ba0905963c6e0f1ad6df7a195 LICENSE > diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk > index 6249023eae..9c47cf3973 100644 > --- a/package/libffi/libffi.mk > +++ b/package/libffi/libffi.mk > @@ -4,19 +4,20 @@ > # > ################################################################################ > > -LIBFFI_VERSION = 3.4.4 > +LIBFFI_VERSION = 3.4.6 > LIBFFI_SITE = \ > https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION) > LIBFFI_LICENSE = MIT > LIBFFI_LICENSE_FILES = LICENSE > LIBFFI_CPE_ID_VALID = YES > LIBFFI_INSTALL_STAGING = YES > -# We're patching Makefile.am > +# We're patching configure.ac > LIBFFI_AUTORECONF = YES > +LIBFFI_CONF_OPTS = --disable-multi-os-directory > > # The static exec trampolines is enabled by default since > # libffi 3.4.2. However it doesn't work with gobject-introspection. > -LIBFFI_CONF_OPTS = --disable-exec-static-tramp > +LIBFFI_CONF_OPTS += --disable-exec-static-tramp > > $(eval $(autotools-package)) > $(eval $(host-autotools-package)) > -- > 2.39.2 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
Bernd, All, On 2024-02-21 20:55 +0100, Bernd Kuhls spake thusly: > Removed patch 0001 and instead added new configure option > --disable-multi-os-directory which was added upstream: > https://github.com/libffi/libffi/commit/877ea9bf9ac2c98cb858c12f5a6aeeec13cf978f > > Removed patch 0003 due to various upstream fixes for mips soft-float > support since its addition in 2016: > https://github.com/libffi/libffi/commits/master/src/mips > > Renumbered remaining patch. > > Updated license hash due to copyright year bump: > https://github.com/libffi/libffi/commit/91739a1a912476adbf1e0e4dcb091b9a2c5007d9 > > Signed-off-by: Bernd Kuhls <bernd@kuhls.net> [--SNIP--] > diff --git a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch > similarity index 94% > rename from package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch > rename to package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch > index c19e395f90..7786b984a2 100644 > --- a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch > +++ b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch > @@ -15,6 +15,8 @@ Mips and compiler support it. > Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> > [unfuzz for 3.2.1] > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> > +[rebased for 3.4.6] > +Signed-off-by: Bernd Kuhls <bernd@kuhls.net> $ ./utils/docker-run make check-package package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch:0: missing Upstream in the header (https://nightly.buildroot.org/#_additional_patch_documentation) .checkpackageignore:597: ignored file package/libffi/0001-Fix-installation-location-of-libffi.patch is missing .checkpackageignore:598: ignored file package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch is missing .checkpackageignore:599: ignored file package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch is missing The first two are due to the renaming, so I fixed .checkpackage to refer to the new filename for that patch. The others two, I removed. Applied to master, thanks. Regards, Yann E. MORIN. > --- > configure.ac | 10 ++++++++++ > 1 file changed, 10 insertions(+) > @@ -23,7 +25,7 @@ diff --git a/configure.ac b/configure.ac > index a7bf5ee..36cd0d4 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -469,6 +469,16 @@ esac > +@@ -238,6 +238,16 @@ esac > AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) > AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) > > diff --git a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch > deleted file mode 100644 > index 168972a871..0000000000 > --- a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch > +++ /dev/null > @@ -1,44 +0,0 @@ > -From 48bc37fabbc685b1e3293055bd33ca66c619305e Mon Sep 17 00:00:00 2001 > -From: Vicente Olivert Riera <Vincent.Riera@imgtec.com> > -Date: Wed, 13 Jan 2016 14:49:59 +0000 > -Subject: [PATCH] libffi: enable hardfloat in the MIPS assembly code > - > -This way it will be possible to build it for soft-float. This is only a > -temporary fix. The package needs to be fixed properly. > - > -Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> > -[Update for 3.3-rc0] > -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > ---- > - src/mips/n32.S | 1 + > - src/mips/o32.S | 1 + > - 2 files changed, 2 insertions(+) > - > -diff --git a/src/mips/n32.S b/src/mips/n32.S > -index c6985d3..dc842d5 100644 > ---- a/src/mips/n32.S > -+++ b/src/mips/n32.S > -@@ -44,6 +44,7 @@ > - #endif > - #if !defined(__mips_isa_rev) || (__mips_isa_rev<6) > - .set mips4 > - #endif > -+ .set hardfloat > - .text > - .align 2 > - .globl ffi_call_N32 > -diff --git a/src/mips/o32.S b/src/mips/o32.S > -index eb27981..b653daf 100644 > ---- a/src/mips/o32.S > -+++ b/src/mips/o32.S > -@@ -42,6 +42,7 @@ > - #define RA_OFF (SIZEOF_FRAME - 1 * FFI_SIZEOF_ARG) > - > - .abicalls > -+ .set hardfloat > - .text > - .align 2 > - .globl ffi_call_O32 > --- > -2.4.10 > - > diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash > index 8d2349ec21..c2ef588f6b 100644 > --- a/package/libffi/libffi.hash > +++ b/package/libffi/libffi.hash > @@ -1,4 +1,4 @@ > # Locally calculated > -sha256 d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676 libffi-3.4.4.tar.gz > +sha256 b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e libffi-3.4.6.tar.gz > # License files, locally calculated > -sha256 2c9c2acb9743e6b007b91350475308aee44691d96aa20eacef8e199988c8c388 LICENSE > +sha256 67894089811f93fca47a76f85e017da6f8582d4ba0905963c6e0f1ad6df7a195 LICENSE > diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk > index 6249023eae..9c47cf3973 100644 > --- a/package/libffi/libffi.mk > +++ b/package/libffi/libffi.mk > @@ -4,19 +4,20 @@ > # > ################################################################################ > > -LIBFFI_VERSION = 3.4.4 > +LIBFFI_VERSION = 3.4.6 > LIBFFI_SITE = \ > https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION) > LIBFFI_LICENSE = MIT > LIBFFI_LICENSE_FILES = LICENSE > LIBFFI_CPE_ID_VALID = YES > LIBFFI_INSTALL_STAGING = YES > -# We're patching Makefile.am > +# We're patching configure.ac > LIBFFI_AUTORECONF = YES > +LIBFFI_CONF_OPTS = --disable-multi-os-directory > > # The static exec trampolines is enabled by default since > # libffi 3.4.2. However it doesn't work with gobject-introspection. > -LIBFFI_CONF_OPTS = --disable-exec-static-tramp > +LIBFFI_CONF_OPTS += --disable-exec-static-tramp > > $(eval $(autotools-package)) > $(eval $(host-autotools-package)) > -- > 2.39.2 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/package/libffi/0001-Fix-installation-location-of-libffi.patch b/package/libffi/0001-Fix-installation-location-of-libffi.patch deleted file mode 100644 index 6ac9123730..0000000000 --- a/package/libffi/0001-Fix-installation-location-of-libffi.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 580f46a7bc6e9fea3a2227b5268cc3aed1d60e3b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Thu, 7 Feb 2013 22:26:56 +0100 -Subject: [PATCH] Fix installation location of libffi -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The libffi is currently declared as toolexeclib_LTLIBRARIES. In many -cases, toolexeclib libraries will be installed in /usr/lib, so it -doesn't make any difference. - -However, with multilib toolchains, they get installed in a -subdirectory of /usr/lib/. For example, with a Sourcery CodeBench -PowerPC toolchain, if the e500mc multilib variant is used, the libffi -library gets installed in /usr/lib/te500mc/. This is due to the -following code in the configure script: - - multi_os_directory=`$CC -print-multi-os-directory` - case $multi_os_directory in - .) ;; # Avoid trailing /. - *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; - esac - -Once the library is installed in /usr/lib/te500mc/, nothing works -because this installation location is inconsistent with the -installation location declared in libffi.pc. - -So, instead of using this bizarre toolexeclib_LTLIBRARIES, simply use -the more standard lib_LTLIBRARIES, which ensures that the libffi -library is always installed in /usr/lib. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -[unfuzz for 3.2.1] -Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 0e40451..309474c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -104,7 +104,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) - - MAKEOVERRIDES= - --toolexeclib_LTLIBRARIES = libffi.la -+lib_LTLIBRARIES = libffi.la - noinst_LTLIBRARIES = libffi_convenience.la - - libffi_la_SOURCES = src/prep_cif.c src/types.c \ --- -2.5.3 - diff --git a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch similarity index 94% rename from package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch rename to package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch index c19e395f90..7786b984a2 100644 --- a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch +++ b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch @@ -15,6 +15,8 @@ Mips and compiler support it. Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> [unfuzz for 3.2.1] Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> +[rebased for 3.4.6] +Signed-off-by: Bernd Kuhls <bernd@kuhls.net> --- configure.ac | 10 ++++++++++ 1 file changed, 10 insertions(+) @@ -23,7 +25,7 @@ diff --git a/configure.ac b/configure.ac index a7bf5ee..36cd0d4 100644 --- a/configure.ac +++ b/configure.ac -@@ -469,6 +469,16 @@ esac +@@ -238,6 +238,16 @@ esac AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) diff --git a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch deleted file mode 100644 index 168972a871..0000000000 --- a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 48bc37fabbc685b1e3293055bd33ca66c619305e Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera <Vincent.Riera@imgtec.com> -Date: Wed, 13 Jan 2016 14:49:59 +0000 -Subject: [PATCH] libffi: enable hardfloat in the MIPS assembly code - -This way it will be possible to build it for soft-float. This is only a -temporary fix. The package needs to be fixed properly. - -Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> -[Update for 3.3-rc0] -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> ---- - src/mips/n32.S | 1 + - src/mips/o32.S | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/mips/n32.S b/src/mips/n32.S -index c6985d3..dc842d5 100644 ---- a/src/mips/n32.S -+++ b/src/mips/n32.S -@@ -44,6 +44,7 @@ - #endif - #if !defined(__mips_isa_rev) || (__mips_isa_rev<6) - .set mips4 - #endif -+ .set hardfloat - .text - .align 2 - .globl ffi_call_N32 -diff --git a/src/mips/o32.S b/src/mips/o32.S -index eb27981..b653daf 100644 ---- a/src/mips/o32.S -+++ b/src/mips/o32.S -@@ -42,6 +42,7 @@ - #define RA_OFF (SIZEOF_FRAME - 1 * FFI_SIZEOF_ARG) - - .abicalls -+ .set hardfloat - .text - .align 2 - .globl ffi_call_O32 --- -2.4.10 - diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash index 8d2349ec21..c2ef588f6b 100644 --- a/package/libffi/libffi.hash +++ b/package/libffi/libffi.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676 libffi-3.4.4.tar.gz +sha256 b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e libffi-3.4.6.tar.gz # License files, locally calculated -sha256 2c9c2acb9743e6b007b91350475308aee44691d96aa20eacef8e199988c8c388 LICENSE +sha256 67894089811f93fca47a76f85e017da6f8582d4ba0905963c6e0f1ad6df7a195 LICENSE diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 6249023eae..9c47cf3973 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -4,19 +4,20 @@ # ################################################################################ -LIBFFI_VERSION = 3.4.4 +LIBFFI_VERSION = 3.4.6 LIBFFI_SITE = \ https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION) LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE LIBFFI_CPE_ID_VALID = YES LIBFFI_INSTALL_STAGING = YES -# We're patching Makefile.am +# We're patching configure.ac LIBFFI_AUTORECONF = YES +LIBFFI_CONF_OPTS = --disable-multi-os-directory # The static exec trampolines is enabled by default since # libffi 3.4.2. However it doesn't work with gobject-introspection. -LIBFFI_CONF_OPTS = --disable-exec-static-tramp +LIBFFI_CONF_OPTS += --disable-exec-static-tramp $(eval $(autotools-package)) $(eval $(host-autotools-package))
Removed patch 0001 and instead added new configure option --disable-multi-os-directory which was added upstream: https://github.com/libffi/libffi/commit/877ea9bf9ac2c98cb858c12f5a6aeeec13cf978f Removed patch 0003 due to various upstream fixes for mips soft-float support since its addition in 2016: https://github.com/libffi/libffi/commits/master/src/mips Renumbered remaining patch. Updated license hash due to copyright year bump: https://github.com/libffi/libffi/commit/91739a1a912476adbf1e0e4dcb091b9a2c5007d9 Signed-off-by: Bernd Kuhls <bernd@kuhls.net> --- Build-tested using this defconfig: BR2_PACKAGE_LIBFFI=y Please note that the build failure with bootlin-armv7m-uclibc is expected: http://lists.busybox.net/pipermail/buildroot/2019-October/566384.html The remaining patch 0001 is still needed, builds with sourcery-mips* toolchains failed without it. arm-aarch64 [ 1/45]: OK bootlin-aarch64-glibc [ 2/45]: OK bootlin-arcle-hs38-uclibc [ 3/45]: OK bootlin-armv5-uclibc [ 4/45]: OK bootlin-armv7-glibc [ 5/45]: OK bootlin-armv7m-uclibc [ 6/45]: FAILED bootlin-armv7-musl [ 7/45]: OK bootlin-m68k-5208-uclibc [ 8/45]: OK bootlin-m68k-68040-uclibc [ 9/45]: OK bootlin-microblazeel-uclibc [10/45]: OK bootlin-mipsel32r6-glibc [11/45]: OK bootlin-mipsel-uclibc [12/45]: OK bootlin-nios2-glibc [13/45]: OK bootlin-openrisc-uclibc [14/45]: OK bootlin-powerpc64le-power8-glibc [15/45]: OK bootlin-powerpc-e500mc-uclibc [16/45]: OK bootlin-riscv32-glibc [17/45]: OK bootlin-riscv64-glibc [18/45]: OK bootlin-riscv64-musl [19/45]: OK bootlin-s390x-z13-glibc [20/45]: OK bootlin-sh4-uclibc [21/45]: OK bootlin-sparc64-glibc [22/45]: OK bootlin-sparc-uclibc [23/45]: OK bootlin-x86-64-glibc [24/45]: OK bootlin-x86-64-musl [25/45]: OK bootlin-x86-64-uclibc [26/45]: OK bootlin-xtensa-uclibc [27/45]: OK br-arm-basic [28/45]: OK br-arm-full-nothread [29/45]: SKIPPED br-arm-full-static [30/45]: OK br-i386-pentium4-full [31/45]: OK br-i386-pentium-mmx-musl [32/45]: OK br-mips64-n64-full [33/45]: OK br-mips64r6-el-hf-glibc [34/45]: OK br-powerpc-603e-basic-cpp [35/45]: OK br-powerpc64-power7-glibc [36/45]: OK linaro-aarch64-be [37/45]: OK linaro-aarch64 [38/45]: OK linaro-arm [39/45]: OK sourcery-arm-armv4t [40/45]: OK sourcery-arm [41/45]: OK sourcery-arm-thumb2 [42/45]: OK sourcery-mips64 [43/45]: OK sourcery-mips [44/45]: OK sourcery-nios2 [45/45]: OK 45 builds, 1 skipped, 1 build failed, 0 legal-info failed, 0 show-info failed ...-Fix-installation-location-of-libffi.patch | 55 ------------------- ...ix-use-of-compact-eh-frames-on-MIPS.patch} | 4 +- ...-hardfloat-in-the-MIPS-assembly-code.patch | 44 --------------- package/libffi/libffi.hash | 4 +- package/libffi/libffi.mk | 7 ++- 5 files changed, 9 insertions(+), 105 deletions(-) delete mode 100644 package/libffi/0001-Fix-installation-location-of-libffi.patch rename package/libffi/{0002-Fix-use-of-compact-eh-frames-on-MIPS.patch => 0001-Fix-use-of-compact-eh-frames-on-MIPS.patch} (94%) delete mode 100644 package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch