[Buildroot] [PATCH] package/libnss: fix build failure on Aarch64 host for powerpc64 target

James Hilliard james.hilliard1 at gmail.com
Tue May 24 23:08:36 UTC 2022


On Tue, May 24, 2022 at 4:07 PM Giulio Benetti
<giulio.benetti at benettiengineering.com> wrote:
>
> When building on Aarch64 host for powerpc64 we get this error:
> gcc: error: unrecognized command-line option '-m64'
>
> This happens because we don't have the flexibility to override the LDFLAGS
> when linking nsinstall host tool that is built in libnss. Also libnss uses
> the same LDFLAGS it uses for target and that is not correct.
> So let's add a patch to add NATIVE_LDFLAGS variable to override LFDFLAGS
> when building nsinstall utility and set it to HOST_LDFLAGS in libnss.mk
>
> Fixes:
> http://autobuild.buildroot.net/results/67500395f19aa698b98404cde8d20463e55504bf/
>
> Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
Tested-by: James Hilliard <james.hilliard1 at gmail.com>
> ---
> Patch is pending upstream:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1771036
> ---
>  ...36-Fix-build-failure-on-Aarch64-host.patch | 36 +++++++++++++++++++
>  package/libnss/libnss.mk                      |  4 ++-
>  2 files changed, 39 insertions(+), 1 deletion(-)
>  create mode 100644 package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch
>
> diff --git a/package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch b/package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch
> new file mode 100644
> index 0000000000..2ca373cd21
> --- /dev/null
> +++ b/package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch
> @@ -0,0 +1,36 @@
> +From 9d5900c1ee9000906a90923e861b0fd7f1061cde Mon Sep 17 00:00:00 2001
> +From: Giulio Benetti <giulio.benetti at benettiengineering.com>
> +Date: Tue, 24 May 2022 23:40:45 +0200
> +Subject: [PATCH] Bug 1771036 - Fix build failure on Aarch64 host
> +
> +If trying to build on Aarch64 host for powerpc64 target we can't override
> +the LDFLAGS leading to this build failure:
> +gcc: error: unrecognized command-line option '-m64'
> +
> +So let's add NATIVE_LDFLAGS check and use it to link nsinstall. This way
> +any build environment can pass LDFLAGS that fits better for host
> +architecture.
> +
> +Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
> +---
> + coreconf/nsinstall/Makefile | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/nss/coreconf/nsinstall/Makefile b/nss/coreconf/nsinstall/Makefile
> +index 08dfbc2fe..5061789ff 100644
> +--- a/nss/coreconf/nsinstall/Makefile
> ++++ b/nss/coreconf/nsinstall/Makefile
> +@@ -34,6 +34,10 @@ ifdef NATIVE_FLAGS
> + OS_CFLAGS=$(NATIVE_FLAGS)
> + endif
> +
> ++ifdef NATIVE_LDFLAGS
> ++LDFLAGS=$(NATIVE_LDFLAGS)
> ++endif
> ++
> + include $(DEPTH)/coreconf/rules.mk
> +
> + # Redefine MAKE_OBJDIR for just this directory
> +--
> +2.34.1
> +
> diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk
> index 540092dfcf..0d0f1d84b9 100644
> --- a/package/libnss/libnss.mk
> +++ b/package/libnss/libnss.mk
> @@ -92,7 +92,9 @@ define LIBNSS_BUILD_CMDS
>                 SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \
>                 DIST=$(@D)/$(LIBNSS_DISTDIR) \
>                 CHECKLOC= \
> -               $(LIBNSS_BUILD_VARS) NATIVE_FLAGS="$(HOST_CFLAGS) -DLINUX"
> +               $(LIBNSS_BUILD_VARS) \
> +               NATIVE_FLAGS="$(HOST_CFLAGS) -DLINUX" \
> +               NATIVE_LDFLAGS="$(HOST_LDFLAGS)"
>  endef
>
>  define LIBNSS_INSTALL_STAGING_CMDS
> --
> 2.34.1
>



More information about the buildroot mailing list