Subject: port-m68k/972: incorrect 040 opcodes from NetBSD as (gas)
To: None <gnats-admin@NetBSD.ORG>
From: Henric Jungheim <>
List: netbsd-bugs
Date: 04/16/1995 19:50:02
>Number:         972
>Category:       port-m68k
>Synopsis:       incorrect 040 opcodes from NetBSD as (gas)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 16 19:50:01 1995
>Originator:     Henric Jungheim <>
>Release:        "sup"ed as of Apr 16th <NetBSD-current source date>
System: NetBSD 1.0A NetBSD 1.0A (HENRIC) #12: Sun Apr 16 18:18:40 PDT 1995 amiga

Many of the 040-specific opcodes in the file src/gnu/usr.bin/gas/opcodes/m68k.h
are simply wrong.

Compile something that uses floating point math and watch the core dumps...
I went through the opcodes/m68k.h file from the NetBSD version of gas and
compared it to the opcodes/m68k.h file from binutils-2.5.2 and hand-fixed
all the wrong opcodes.  I promply wiped that file when trying to save a 
backup copy of it (yes, I did copy the backup over the fixed one).

One can also use the m68.h file directly from the binutils distribution, but
this causes core dumps when compiling some of the opcodes that use the new
operand format (the opcodes appear both with "as" and "As" operands--I think
if one of the two is taken out, gas should again work).  This is what I
am currently using (the only problem I have is with one of the MMU operands
when compiling locore.S for the Amiga--and for that file I use the gas from 
binutils 2.5.2).