All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adam Duskett <adam.duskett@amarulasolutions.com>
To: Bernd Kuhls <bernd@kuhls.net>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] package/libffi: bump version to 3.4.6
Date: Sat, 23 Mar 2024 14:37:09 -0600	[thread overview]
Message-ID: <CAHDQB6M6ruLtu-hg3cWBXUZfzbvd4yNj8QkrH8tWJoDxqjKh+g@mail.gmail.com> (raw)
In-Reply-To: <20240221195520.1762497-1-bernd@kuhls.net>

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
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2024-03-23 20:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2024-04-28 11:19   ` Peter Korsgaard
2024-03-28 19:35 ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAHDQB6M6ruLtu-hg3cWBXUZfzbvd4yNj8QkrH8tWJoDxqjKh+g@mail.gmail.com \
    --to=adam.duskett@amarulasolutions.com \
    --cc=bernd@kuhls.net \
    --cc=buildroot@buildroot.org \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.