All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/libffi: bump version to 3.4.6
@ 2024-02-21 19:55 Bernd Kuhls
  2024-03-23 20:37 ` Adam Duskett
  2024-03-28 19:35 ` Yann E. MORIN
  0 siblings, 2 replies; 4+ messages in thread
From: Bernd Kuhls @ 2024-02-21 19:55 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni

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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-28 11:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-21 19:55 [Buildroot] [PATCH 1/1] package/libffi: bump version to 3.4.6 Bernd Kuhls
2024-03-23 20:37 ` Adam Duskett
2024-04-28 11:19   ` Peter Korsgaard
2024-03-28 19:35 ` Yann E. MORIN

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.