Subject: port-i386/6967: gcc -march=i486 generates bad assembler on x86
To: None <gnats-bugs@gnats.netbsd.org>
From: None <tls@rek.tjls.com>
List: netbsd-bugs
Date: 02/08/1999 10:59:22
>Number:         6967
>Category:       port-i386
>Synopsis:       gcc -march=i486 generates bad assembler
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-i386-maintainer (NetBSD/i386 Portmaster)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb  8 08:05:00 1999
>Last-Modified:
>Originator:     Thor Lancelot Simon
>Organization:
Very little
>Release:        19990205 -- but compiler may be slightly older
>Environment:
AMD K6-2/350, NetBSD-current, 'make build' w/-O2 -march=i486
>Description:
	During a "make build" with -O2 -march=i486, the assembler blew out
	in sbin/mount_portal due to bad assembler at line 258 of the
	included compiler output for mount_portal.c; the compiler appears
	to have emitted a negative value in an unsigned field.

	See enclosed assembly code for mount_portal.c (bug is
	at line 258):

begin 644 mount_portal.s.bz2
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
7$6S_/Y<+7`N!Q:@/^+N2*<*$AUJ8.6`1
`
end

>How-To-Repeat:
	Build mount_portal.c with -O2 -march-i486.
>Fix:
	Beats me.
>Audit-Trail:
>Unformatted:
>System: NetBSD rekusant 1.3I NetBSD 1.3I (REKUSANT) #0: Sun Feb 7 16:49:27 EST 1999 root@rekusant:/usr/src/sys/arch/i386/compile/REKUSANT i386