All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
@ 2016-08-08 16:11 Peter Maydell
  2016-08-08 17:12 ` Peter Maydell
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Peter Maydell @ 2016-08-08 16:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: patches, Brad Smith, Sean Bruno, Paolo Bonzini

The various host OSes are irritatingly variable about the name
of the linker emulation we need to pass to ld's -m option to
build the i386 option ROMs. Instead of doing this via a
CONFIG ifdef, check in configure whether any of the emulation
names we know about will work and pass the right answer through
to the makefile. If we can't find one, we fall back to not trying
to build the option ROMs, in the same way we would for a non-x86
host platform.

This is in particular necessary to unbreak the build on OpenBSD,
since it wants a different answer to FreeBSD and we don't have
an existing CONFIG_ variable that distinguishes the two.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
This works for Linux and for the Windows builds; I don't have any
BSD systems to test it on. Brad and Sean, can I ask you to test this
on OpenBSD and FreeBSD, please?

(I think this is going to miss -rc2. Sorry about that; we'll
get OpenBSD builds fixed for -rc3.)

 configure                  | 12 +++++++++++-
 pc-bios/optionrom/Makefile | 12 +-----------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/configure b/configure
index f57fcc6..7c744ad 100755
--- a/configure
+++ b/configure
@@ -4699,7 +4699,16 @@ roms=
 if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
         "$targetos" != "Darwin" -a "$targetos" != "SunOS" -a \
         "$softmmu" = yes ; then
-  roms="optionrom"
+    # Different host OS linkers have different ideas about the name of the ELF
+    # emulation. Linux and OpenBSD use 'elf_i386'; FreeBSD uses the _fbsd
+    # variant; and Windows uses i386pe.
+    for emu in elf_i386 elf_i386_fbsd i386pe; do
+        if "$ld" -verbose 2>&1 | grep -q "^[[:space:]]*$emu[[:space:]]*$"; then
+            ld_i386_emulation="$emu"
+            roms="optionrom"
+            break
+        fi
+    done
 fi
 if test "$cpu" = "ppc64" -a "$targetos" != "Darwin" ; then
   roms="$roms spapr-rtas"
@@ -5539,6 +5548,7 @@ fi
 echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
 echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
 echo "LD_REL_FLAGS=$LD_REL_FLAGS" >> $config_host_mak
+echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
 echo "LIBS+=$LIBS" >> $config_host_mak
 echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
 echo "PTHREAD_LIB=$PTHREAD_LIB" >> $config_host_mak
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index 24e175e..5bbe233 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -41,18 +41,8 @@ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin
 %.o: %.S
 	$(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@,"  AS    $(TARGET_DIR)$@")
 
-ifdef CONFIG_WIN32
-LD_EMULATION = i386pe
-else
-ifdef CONFIG_BSD
-LD_EMULATION = elf_i386_fbsd
-else
-LD_EMULATION = elf_i386
-endif
-endif
-
 %.img: %.o
-	$(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_EMULATION) -Ttext 0 -e _start -s -o $@ $<,"  Building $(TARGET_DIR)$@")
+	$(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -Ttext 0 -e _start -s -o $@ $<,"  Building $(TARGET_DIR)$@")
 
 %.raw: %.img
 	$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"  Building $(TARGET_DIR)$@")
-- 
2.7.4

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-08 16:11 [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation Peter Maydell
@ 2016-08-08 17:12 ` Peter Maydell
  2016-08-09 13:12   ` Paolo Bonzini
  2016-08-08 18:05 ` Sean Bruno
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2016-08-08 17:12 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Paolo Bonzini, Sean Bruno, Brad Smith, Patch Tracking

On 8 August 2016 at 17:11, Peter Maydell <peter.maydell@linaro.org> wrote:
> The various host OSes are irritatingly variable about the name
> of the linker emulation we need to pass to ld's -m option to
> build the i386 option ROMs. Instead of doing this via a
> CONFIG ifdef, check in configure whether any of the emulation
> names we know about will work and pass the right answer through
> to the makefile. If we can't find one, we fall back to not trying
> to build the option ROMs, in the same way we would for a non-x86
> host platform.
>
> This is in particular necessary to unbreak the build on OpenBSD,
> since it wants a different answer to FreeBSD and we don't have
> an existing CONFIG_ variable that distinguishes the two.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This works for Linux and for the Windows builds; I don't have any
> BSD systems to test it on. Brad and Sean, can I ask you to test this
> on OpenBSD and FreeBSD, please?
>
> (I think this is going to miss -rc2. Sorry about that; we'll
> get OpenBSD builds fixed for -rc3.)

PS: if you would like your BSD flavour promoted to "we don't
merge changes that break the build on it" I would need to
have ssh access to a machine I can run builds and tests on.
(Unfortunately the only BSD in the gcc compile farm is an
ancient NetBSD.)

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-08 16:11 [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation Peter Maydell
  2016-08-08 17:12 ` Peter Maydell
@ 2016-08-08 18:05 ` Sean Bruno
  2016-08-10 23:42 ` Brad Smith
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Sean Bruno @ 2016-08-08 18:05 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: Paolo Bonzini, Brad Smith, patches

[-- Attachment #1: Type: text/plain, Size: 3610 bytes --]



On 08/08/16 10:11, Peter Maydell wrote:
> The various host OSes are irritatingly variable about the name
> of the linker emulation we need to pass to ld's -m option to
> build the i386 option ROMs. Instead of doing this via a
> CONFIG ifdef, check in configure whether any of the emulation
> names we know about will work and pass the right answer through
> to the makefile. If we can't find one, we fall back to not trying
> to build the option ROMs, in the same way we would for a non-x86
> host platform.
> 
> This is in particular necessary to unbreak the build on OpenBSD,
> since it wants a different answer to FreeBSD and we don't have
> an existing CONFIG_ variable that distinguishes the two.
> 
Reviewed-by:  Sean Bruno <sbruno@freebsd.org>

For impact to FreeBSD only.

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This works for Linux and for the Windows builds; I don't have any
> BSD systems to test it on. Brad and Sean, can I ask you to test this
> on OpenBSD and FreeBSD, please?
> 
> (I think this is going to miss -rc2. Sorry about that; we'll
> get OpenBSD builds fixed for -rc3.)
> 
>  configure                  | 12 +++++++++++-
>  pc-bios/optionrom/Makefile | 12 +-----------
>  2 files changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/configure b/configure
> index f57fcc6..7c744ad 100755
> --- a/configure
> +++ b/configure
> @@ -4699,7 +4699,16 @@ roms=
>  if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
>          "$targetos" != "Darwin" -a "$targetos" != "SunOS" -a \
>          "$softmmu" = yes ; then
> -  roms="optionrom"
> +    # Different host OS linkers have different ideas about the name of the ELF
> +    # emulation. Linux and OpenBSD use 'elf_i386'; FreeBSD uses the _fbsd
> +    # variant; and Windows uses i386pe.
> +    for emu in elf_i386 elf_i386_fbsd i386pe; do
> +        if "$ld" -verbose 2>&1 | grep -q "^[[:space:]]*$emu[[:space:]]*$"; then
> +            ld_i386_emulation="$emu"
> +            roms="optionrom"
> +            break
> +        fi
> +    done
>  fi
>  if test "$cpu" = "ppc64" -a "$targetos" != "Darwin" ; then
>    roms="$roms spapr-rtas"
> @@ -5539,6 +5548,7 @@ fi
>  echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
>  echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
>  echo "LD_REL_FLAGS=$LD_REL_FLAGS" >> $config_host_mak
> +echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
>  echo "LIBS+=$LIBS" >> $config_host_mak
>  echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
>  echo "PTHREAD_LIB=$PTHREAD_LIB" >> $config_host_mak
> diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> index 24e175e..5bbe233 100644
> --- a/pc-bios/optionrom/Makefile
> +++ b/pc-bios/optionrom/Makefile
> @@ -41,18 +41,8 @@ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin
>  %.o: %.S
>  	$(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@,"  AS    $(TARGET_DIR)$@")
>  
> -ifdef CONFIG_WIN32
> -LD_EMULATION = i386pe
> -else
> -ifdef CONFIG_BSD
> -LD_EMULATION = elf_i386_fbsd
> -else
> -LD_EMULATION = elf_i386
> -endif
> -endif
> -
>  %.img: %.o
> -	$(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_EMULATION) -Ttext 0 -e _start -s -o $@ $<,"  Building $(TARGET_DIR)$@")
> +	$(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -Ttext 0 -e _start -s -o $@ $<,"  Building $(TARGET_DIR)$@")
>  
>  %.raw: %.img
>  	$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"  Building $(TARGET_DIR)$@")
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 603 bytes --]

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-08 17:12 ` Peter Maydell
@ 2016-08-09 13:12   ` Paolo Bonzini
  2016-08-09 13:15     ` Peter Maydell
  0 siblings, 1 reply; 10+ messages in thread
From: Paolo Bonzini @ 2016-08-09 13:12 UTC (permalink / raw)
  To: Peter Maydell, QEMU Developers; +Cc: Sean Bruno, Brad Smith, Patch Tracking



On 08/08/2016 19:12, Peter Maydell wrote:
> PS: if you would like your BSD flavour promoted to "we don't
> merge changes that break the build on it" I would need to
> have ssh access to a machine I can run builds and tests on.
> (Unfortunately the only BSD in the gcc compile farm is an
> ancient NetBSD.)

For the purpose of "not breaking the build", having a docker image for a
cross compiler would also be enough.

Paolo

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-09 13:12   ` Paolo Bonzini
@ 2016-08-09 13:15     ` Peter Maydell
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2016-08-09 13:15 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers, Sean Bruno, Brad Smith, Patch Tracking

On 9 August 2016 at 14:12, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 08/08/2016 19:12, Peter Maydell wrote:
>> PS: if you would like your BSD flavour promoted to "we don't
>> merge changes that break the build on it" I would need to
>> have ssh access to a machine I can run builds and tests on.
>> (Unfortunately the only BSD in the gcc compile farm is an
>> ancient NetBSD.)
>
> For the purpose of "not breaking the build", having a docker image for a
> cross compiler would also be enough.

My requirement here is largely that I personally don't have
to expend any effort on admining and maintaining BSD related
build setups. I also think that setups that let you run "make
check" are much more valuable than cross-compile setups that
don't.

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-08 16:11 [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation Peter Maydell
  2016-08-08 17:12 ` Peter Maydell
  2016-08-08 18:05 ` Sean Bruno
@ 2016-08-10 23:42 ` Brad Smith
  2016-08-11  9:24   ` Peter Maydell
  2016-08-11  0:28 ` Brad Smith
  2016-08-15 17:26 ` Peter Maydell
  4 siblings, 1 reply; 10+ messages in thread
From: Brad Smith @ 2016-08-10 23:42 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: Paolo Bonzini, Sean Bruno, patches

On 08/08/16 12:11, Peter Maydell wrote:
> The various host OSes are irritatingly variable about the name
> of the linker emulation we need to pass to ld's -m option to
> build the i386 option ROMs. Instead of doing this via a
> CONFIG ifdef, check in configure whether any of the emulation
> names we know about will work and pass the right answer through
> to the makefile. If we can't find one, we fall back to not trying
> to build the option ROMs, in the same way we would for a non-x86
> host platform.
>
> This is in particular necessary to unbreak the build on OpenBSD,
> since it wants a different answer to FreeBSD and we don't have
> an existing CONFIG_ variable that distinguishes the two.

To add to this.. amd64 uses "elf_i386". Looking at i386 it uses
elf_i386_obsd and that is the only emulation supported.

So change the list of emulations to try to

elf_i386 elf_i386_fbsd elf_i386_obsd i386pe


Someone needs to take a look at what NetBSD / DragonFly are
using.

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This works for Linux and for the Windows builds; I don't have any
> BSD systems to test it on. Brad and Sean, can I ask you to test this
> on OpenBSD and FreeBSD, please?
>
> (I think this is going to miss -rc2. Sorry about that; we'll
> get OpenBSD builds fixed for -rc3.)
>
>  configure                  | 12 +++++++++++-
>  pc-bios/optionrom/Makefile | 12 +-----------
>  2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/configure b/configure
> index f57fcc6..7c744ad 100755
> --- a/configure
> +++ b/configure
> @@ -4699,7 +4699,16 @@ roms=
>  if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
>          "$targetos" != "Darwin" -a "$targetos" != "SunOS" -a \
>          "$softmmu" = yes ; then
> -  roms="optionrom"
> +    # Different host OS linkers have different ideas about the name of the ELF
> +    # emulation. Linux and OpenBSD use 'elf_i386'; FreeBSD uses the _fbsd
> +    # variant; and Windows uses i386pe.
> +    for emu in elf_i386 elf_i386_fbsd i386pe; do
> +        if "$ld" -verbose 2>&1 | grep -q "^[[:space:]]*$emu[[:space:]]*$"; then
> +            ld_i386_emulation="$emu"
> +            roms="optionrom"
> +            break
> +        fi
> +    done
>  fi
>  if test "$cpu" = "ppc64" -a "$targetos" != "Darwin" ; then
>    roms="$roms spapr-rtas"
> @@ -5539,6 +5548,7 @@ fi
>  echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
>  echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
>  echo "LD_REL_FLAGS=$LD_REL_FLAGS" >> $config_host_mak
> +echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
>  echo "LIBS+=$LIBS" >> $config_host_mak
>  echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
>  echo "PTHREAD_LIB=$PTHREAD_LIB" >> $config_host_mak
> diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> index 24e175e..5bbe233 100644
> --- a/pc-bios/optionrom/Makefile
> +++ b/pc-bios/optionrom/Makefile
> @@ -41,18 +41,8 @@ build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin
>  %.o: %.S
>  	$(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_DGFLAGS) -c -o - $< | $(AS) $(ASFLAGS) -o $@,"  AS    $(TARGET_DIR)$@")
>
> -ifdef CONFIG_WIN32
> -LD_EMULATION = i386pe
> -else
> -ifdef CONFIG_BSD
> -LD_EMULATION = elf_i386_fbsd
> -else
> -LD_EMULATION = elf_i386
> -endif
> -endif
> -
>  %.img: %.o
> -	$(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_EMULATION) -Ttext 0 -e _start -s -o $@ $<,"  Building $(TARGET_DIR)$@")
> +	$(call quiet-command,$(LD) $(LDFLAGS_NOPIE) -m $(LD_I386_EMULATION) -Ttext 0 -e _start -s -o $@ $<,"  Building $(TARGET_DIR)$@")
>
>  %.raw: %.img
>  	$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"  Building $(TARGET_DIR)$@")
>

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-08 16:11 [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation Peter Maydell
                   ` (2 preceding siblings ...)
  2016-08-10 23:42 ` Brad Smith
@ 2016-08-11  0:28 ` Brad Smith
  2016-08-15 17:26 ` Peter Maydell
  4 siblings, 0 replies; 10+ messages in thread
From: Brad Smith @ 2016-08-11  0:28 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: Paolo Bonzini, Sean Bruno, patches

On 08/08/16 12:11, Peter Maydell wrote:
> The various host OSes are irritatingly variable about the name
> of the linker emulation we need to pass to ld's -m option to
> build the i386 option ROMs. Instead of doing this via a
> CONFIG ifdef, check in configure whether any of the emulation
> names we know about will work and pass the right answer through
> to the makefile. If we can't find one, we fall back to not trying
> to build the option ROMs, in the same way we would for a non-x86
> host platform.
>
> This is in particular necessary to unbreak the build on OpenBSD,
> since it wants a different answer to FreeBSD and we don't have
> an existing CONFIG_ variable that distinguishes the two.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This works for Linux and for the Windows builds; I don't have any
> BSD systems to test it on. Brad and Sean, can I ask you to test this
> on OpenBSD and FreeBSD, please?
>
> (I think this is going to miss -rc2. Sorry about that; we'll
> get OpenBSD builds fixed for -rc3.)

Tested on OpenBSD/amd64 and it builds. Need to get my i386 VM going
and test on i386.

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-10 23:42 ` Brad Smith
@ 2016-08-11  9:24   ` Peter Maydell
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2016-08-11  9:24 UTC (permalink / raw)
  To: Brad Smith; +Cc: QEMU Developers, Paolo Bonzini, Sean Bruno, Patch Tracking

On 11 August 2016 at 00:42, Brad Smith <brad@comstyle.com> wrote:
> On 08/08/16 12:11, Peter Maydell wrote:
>>
>> The various host OSes are irritatingly variable about the name
>> of the linker emulation we need to pass to ld's -m option to
>> build the i386 option ROMs. Instead of doing this via a
>> CONFIG ifdef, check in configure whether any of the emulation
>> names we know about will work and pass the right answer through
>> to the makefile. If we can't find one, we fall back to not trying
>> to build the option ROMs, in the same way we would for a non-x86
>> host platform.
>>
>> This is in particular necessary to unbreak the build on OpenBSD,
>> since it wants a different answer to FreeBSD and we don't have
>> an existing CONFIG_ variable that distinguishes the two.
>
>
> To add to this.. amd64 uses "elf_i386". Looking at i386 it uses
> elf_i386_obsd and that is the only emulation supported.
>
> So change the list of emulations to try to
>
> elf_i386 elf_i386_fbsd elf_i386_obsd i386pe
>
>
> Someone needs to take a look at what NetBSD / DragonFly are
> using.

My NetBSD 6.1.4 amd64 VM uses elf_i386. Building should
still work on an OS which doesn't support an emulation
in the list in configure -- we'll just fall back to
not building the option ROMs, which is the same position
any non-x86 host architecture is in.

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-08 16:11 [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation Peter Maydell
                   ` (3 preceding siblings ...)
  2016-08-11  0:28 ` Brad Smith
@ 2016-08-15 17:26 ` Peter Maydell
  2016-08-15 18:52   ` Brad Smith
  4 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2016-08-15 17:26 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Paolo Bonzini, Sean Bruno, Brad Smith, Patch Tracking

On 8 August 2016 at 17:11, Peter Maydell <peter.maydell@linaro.org> wrote:
> The various host OSes are irritatingly variable about the name
> of the linker emulation we need to pass to ld's -m option to
> build the i386 option ROMs. Instead of doing this via a
> CONFIG ifdef, check in configure whether any of the emulation
> names we know about will work and pass the right answer through
> to the makefile. If we can't find one, we fall back to not trying
> to build the option ROMs, in the same way we would for a non-x86
> host platform.
>
> This is in particular necessary to unbreak the build on OpenBSD,
> since it wants a different answer to FreeBSD and we don't have
> an existing CONFIG_ variable that distinguishes the two.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This works for Linux and for the Windows builds; I don't have any
> BSD systems to test it on. Brad and Sean, can I ask you to test this
> on OpenBSD and FreeBSD, please?
>
> (I think this is going to miss -rc2. Sorry about that; we'll
> get OpenBSD builds fixed for -rc3.)

Applied to master (as-is, in the absence of a build check for
i386 OpenBSD; we can always add the elf_i386_obsd entry to the
list as a later patch, and if not then i386 is no worse off
than other non-x86-64 OpenBSD hosts: it just won't build the
option roms from source).

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation
  2016-08-15 17:26 ` Peter Maydell
@ 2016-08-15 18:52   ` Brad Smith
  0 siblings, 0 replies; 10+ messages in thread
From: Brad Smith @ 2016-08-15 18:52 UTC (permalink / raw)
  To: Peter Maydell, QEMU Developers; +Cc: Paolo Bonzini, Sean Bruno, Patch Tracking

On 8/15/2016 1:26 PM, Peter Maydell wrote:

> On 8 August 2016 at 17:11, Peter Maydell <peter.maydell@linaro.org> wrote:
>> The various host OSes are irritatingly variable about the name
>> of the linker emulation we need to pass to ld's -m option to
>> build the i386 option ROMs. Instead of doing this via a
>> CONFIG ifdef, check in configure whether any of the emulation
>> names we know about will work and pass the right answer through
>> to the makefile. If we can't find one, we fall back to not trying
>> to build the option ROMs, in the same way we would for a non-x86
>> host platform.
>>
>> This is in particular necessary to unbreak the build on OpenBSD,
>> since it wants a different answer to FreeBSD and we don't have
>> an existing CONFIG_ variable that distinguishes the two.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>> This works for Linux and for the Windows builds; I don't have any
>> BSD systems to test it on. Brad and Sean, can I ask you to test this
>> on OpenBSD and FreeBSD, please?
>>
>> (I think this is going to miss -rc2. Sorry about that; we'll
>> get OpenBSD builds fixed for -rc3.)
> Applied to master (as-is, in the absence of a build check for
> i386 OpenBSD; we can always add the elf_i386_obsd entry to the
> list as a later patch, and if not then i386 is no worse off
> than other non-x86-64 OpenBSD hosts: it just won't build the
> option roms from source).
>
> thanks
> -- PMM
I am fine with that. Thank you.

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

end of thread, other threads:[~2016-08-15 18:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-08 16:11 [Qemu-devel] [PATCH for-2.7] pc-bios/optionrom: Fix OpenBSD build with better detection of linker emulation Peter Maydell
2016-08-08 17:12 ` Peter Maydell
2016-08-09 13:12   ` Paolo Bonzini
2016-08-09 13:15     ` Peter Maydell
2016-08-08 18:05 ` Sean Bruno
2016-08-10 23:42 ` Brad Smith
2016-08-11  9:24   ` Peter Maydell
2016-08-11  0:28 ` Brad Smith
2016-08-15 17:26 ` Peter Maydell
2016-08-15 18:52   ` Brad Smith

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.