diff mbox series

[1/1] package/libffi: bump version to 3.4.6

Message ID 20240221195520.1762497-1-bernd@kuhls.net
State Accepted
Headers show
Series [1/1] package/libffi: bump version to 3.4.6 | expand

Commit Message

Bernd Kuhls Feb. 21, 2024, 7:55 p.m. UTC
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

Comments

Adam Duskett March 23, 2024, 8:37 p.m. UTC | #1
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
Yann E. MORIN March 28, 2024, 7:35 p.m. UTC | #2
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 mbox series

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))