bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gas configure.in [Was: Re: segfault here (bfd), segfault there]


From: Bernd Jendrissek
Subject: gas configure.in [Was: Re: segfault here (bfd), segfault there]
Date: Wed, 9 Apr 2003 11:09:50 +0200

On Wed, Apr 09, 2003 at 02:44:37PM +0930, Alan Modra wrote:
> On Tue, Apr 08, 2003 at 06:56:47PM +0200, Bernd Jendrissek wrote:
> >    The resulting assembler outputs a.out: file(1) reports
> >    "Linux/i386 impure executable (OMAGIC)" on the output.
> > 
> >    I thought i386-pc-pe would have caused the output to be coff of some
> >    sort?
> 
> This is what I see for --target=i686-pe, which ought to be the same
> as your i386-pc-pe target.  Perhaps some basic tool, sed for example,
> is broken on your system?
> 
> $ file def.o
> def.o: 80386 COFF executable not stripped - version 30821
> $ file def
> def: MS Windows PE Intel 80386 console executable not relocatable

Okay, I see something fishy here: (gas/configure.in)

    case ${generic_target}-${fmt} in
        ...
      # i386-pc-pe-coff != i386-pc-coff.
      i386-*-pe-coff)   ;;
      # Uncommenting the next line will turn on support for i386 AOUT
      # for the default linux configuration
      # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
      #
      i386-*-aout)      emulation="i386aout" ;;
      i386-*-coff)      emulation="i386coff" ;;
      i386-*-elf)       emulation="i386elf" ;;

What's with that "i386-pc-pe-coff != i386-pc-coff" comment?  Is PE *that*
different to COFF that the i386coff emulation gets thrown out?

Then half a page down, we have:

if test ${all_targets} = "yes"; then
  case ${target_cpu_type} in
  i386)
    case ${obj_format} in
    aout)
      emulations="$emulations i386coff i386elf"
      ;;
    coff)
      emulations="$emulations i386aout i386elf"
    ;;
    elf)
      emulations="$emulations i386aout i386coff"
      ;;
    esac
  ;;
  esac
fi

Is this perhaps a difference between GNU binutils and "linux" binutils?

> > 2. binutils/configure --target=i386-winnt *does* generate coff output.
> >    Strange.  I don't see *any* ix86-specific mention of winnt anywhere in
> >    gas.  Anyone care to explain?  How does *this* as know to output coff?
> 
> gas/configure.in
>       i386-*-*nt*)                    fmt=coff em=pe ;;

Ah!  (Is there anything win-ish in *nt other than winnt itself?  Maybe I
want to write an OS called tintc - TINTC Is Not Turing Complete... :)

But this makes me think I'll just try deleting that i386-*-pe-coff special
case above - the worst that can happen is it won't work, right?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]