All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] package/qemu: fix build with latest binutils
Date: Mon, 24 May 2021 10:18:27 +0200	[thread overview]
Message-ID: <20210524081827.GF3208066@scaer> (raw)
In-Reply-To: <20210522165350.99404-1-fontaine.fabrice@gmail.com>

Fabrice, All,

On 2021-05-22 18:53 +0200, Fabrice Fontaine spake thusly:
> Fixes:
>  - http://autobuild.buildroot.org/results/c0881df995093036eb7579d870efcae3feb323aa
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  ...-no-pie-is-no-functional-linker-flag.patch | 79 +++++++++++++++++++
>  1 file changed, 79 insertions(+)
>  create mode 100644 package/qemu/0005-build-no-pie-is-no-functional-linker-flag.patch
> 
> diff --git a/package/qemu/0005-build-no-pie-is-no-functional-linker-flag.patch b/package/qemu/0005-build-no-pie-is-no-functional-linker-flag.patch
> new file mode 100644
> index 0000000000..6a21949157
> --- /dev/null
> +++ b/package/qemu/0005-build-no-pie-is-no-functional-linker-flag.patch
> @@ -0,0 +1,79 @@
> +From bbd2d5a8120771ec59b86a80a1f51884e0a26e53 Mon Sep 17 00:00:00 2001
> +From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
> +Date: Mon, 14 Dec 2020 16:09:38 +0100
> +Subject: [PATCH] build: -no-pie is no functional linker flag
> +
> +Recent binutils changes dropping unsupported options [1] caused a build
> +issue in regard to the optionroms.
> +
> +  ld -m elf_i386 -T /<<PKGBUILDDIR>>/pc-bios/optionrom//flat.lds -no-pie \
> +    -s -o multiboot.img multiboot.o
> +  ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?)
> +
> +This isn't really a regression in ld.bfd, filing the bug upstream
> +revealed that this never worked as a ld flag [2] - in fact it seems we
> +were by accident setting --nmagic).
> +
> +Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be
> +droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE
> +in .mak, therefore we can also remove it from being added there.
> +
> +[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d
> +[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5
> +
> +Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
> +Message-Id: <20201214150938.1297512-1-christian.ehrhardt@canonical.com>
> +Cc: qemu-stable at nongnu.org
> +Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> +
> +[Retrieved from:
> +https://gitlab.com/qemu-project/qemu/-/commit/bbd2d5a8120771ec59b86a80a1f51884e0a26e53]
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> +---
> + configure                  | 3 ---
> + pc-bios/optionrom/Makefile | 1 -
> + 2 files changed, 4 deletions(-)
> +
> +diff --git a/configure b/configure
> +index cb21108d34..c228f7c21e 100755
> +--- a/configure
> ++++ b/configure
> +@@ -2137,7 +2137,6 @@ EOF
> + # Check we support --no-pie first; we will need this for building ROMs.
> + if compile_prog "-Werror -fno-pie" "-no-pie"; then
> +   CFLAGS_NOPIE="-fno-pie"
> +-  LDFLAGS_NOPIE="-no-pie"
> + fi
> + 
> + if test "$static" = "yes"; then
> +@@ -2153,7 +2152,6 @@ if test "$static" = "yes"; then
> +   fi
> + elif test "$pie" = "no"; then
> +   CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
> +-  CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
> + elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
> +   CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
> +   CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
> +@@ -6714,7 +6712,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
> + echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
> + echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
> + echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
> +-echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
> + echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
> + echo "EXESUF=$EXESUF" >> $config_host_mak
> + echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
> +diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> +index 084fc10f05..30771f8d17 100644
> +--- a/pc-bios/optionrom/Makefile
> ++++ b/pc-bios/optionrom/Makefile
> +@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32)
> + 
> + LD_I386_EMULATION ?= elf_i386
> + override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
> +-override LDFLAGS += $(LDFLAGS_NOPIE)
> + 
> + all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
> + 
> +-- 
> +GitLab
> +
> -- 
> 2.30.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2021-05-24  8:18 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-22 16:53 [Buildroot] [PATCH 1/1] package/qemu: fix build with latest binutils Fabrice Fontaine
2021-05-24  8:18 ` Yann E. MORIN [this message]
2021-06-08  8:23 ` Peter Korsgaard

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=20210524081827.GF3208066@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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.