[Debootloaders-emile] Bug#388098: gas: fails to assemble attached file

Jonathan Nieder jrnieder at gmail.com
Sat Jun 4 19:29:45 UTC 2011


Thorsten Glaser wrote:

> No, as we discovered in the previous mails you replied to,
> there is no .chip directive in binutils (2.17 and up).

It exists; it just has different semantics from .cpu.

The error message comes from m68k_init_arch() which was introduced by
binutils-2_17~383 (gas/config/tc-m68k.c: Add arch and cpu directives,
2006-02-07).  The caller:

  if (!selected_cpu && !selected_arch)
    {
      /* We've not selected an architecture yet.  Set the default
        now.  We do this lazily so that an initial .cpu or .arch directive
        can specify.  */
      if (!m68k_set_cpu (TARGET_CPU, 1, 1))
       as_bad (_("unrecognized default cpu `%s'"), TARGET_CPU);
    }
  if (!initialized)
    m68k_init_arch ();

The "chip" pseudo-op exists for compatibility with the Microtec
Research Inc assembler.  It sets current_architecture and
control_regs.  As you mentioned, it is not well documented in the gas
manual, and presumably someone would have to know or look at the MRI
manuals to find the intent and tell if its interaction with -mcpu and
-march is as intended or not.

Since emile seems to be building ok, I know *I* don't mind it. :)

Hope that helps and sorry for the noise,
Jonathan





More information about the Debootloaders-emile mailing list