On 7 November 2017 at 23:51, Brad Smith <b...@comstyle.com> wrote: > On Mon, Nov 06, 2017 at 11:37:45AM +0000, Peter Maydell wrote: >> On 6 November 2017 at 00:53, 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..02799d38ac 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 uses 'elf_i386'; FreeBSD uses the _fbsd variant; >> > + # OpenBSD 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" >> >> My OpenBSD/x86-64's ld supports both "elf_i386" and "elf_i386_obsd" -- >> which should we be using in this case? With your change we'll >> still prefer elf_i386 if the linker handles both. > > I sent a second rev of the diff with slightly tweaked comment. > > OpenBSD/amd64 uses elf_i386. OpenBSD/i386 uses elf_i386_obsd. > >> Do you know what the difference between the two is? > > No.
...then how do we know that elf_i386 is the right one to use for 32-bit linking when checking on an OpenBSD/amd64 system? thanks -- PMM