On 20 November 2017 at 13:46, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 7 November 2017 at 23:46, Brad Smith <b...@comstyle.com> wrote: >> OpenBSD/i386 uses elf_i386_obsd for the emulation linker. >> >> Signed-off-by: Brad Smith <b...@comstyle.com> >> >> >> diff --git a/configure b/configure >> index dd73cce62f..c9dd747283 100755 >> --- a/configure >> +++ b/configure >> @@ -5159,9 +5159,9 @@ if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \ >> "$targetos" != "Darwin" -a "$targetos" != "SunOS" -a \ >> "$softmmu" = yes ; then >> # 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 >> + # emulation. Linux and OpenBSD/amd64 use 'elf_i386'; FreeBSD uses the >> _fbsd >> + # variant; OpenBSD/i386 uses the _obsd variant; and Windows uses i386pe. >> + for emu in elf_i386 elf_i386_fbsd elf_i386_obsd i386pe; do >> if "$ld" -verbose 2>&1 | grep -q "^[[:space:]]*$emu[[:space:]]*$"; >> then >> ld_i386_emulation="$emu" >> roms="optionrom" > > Hi; just a reminder that this patch is still blocked on getting > an answer to why the correct answer for OpenBSD/x86_64 is > "elf_i386" and not "elf_i386_obsd"...
I went and looked through the binutils source, and as far as I can tell the _obsd variant sets some extra defaults which we probably don't care about for ROM images, and in practice the binary blobs are the same for both if run on openbsd/x86_64. So I think that the current behaviour (use elf_i386 in preference to elf_i386_obsd) is the right thing, because the binaries we're creating are not specifically openbsd binaries. So I've applied this patch to master. thanks -- PMM