c/2164: ICE on NetBSD/i386, gcc 3.0 20010303 (prerelease)
anonymous@sourceware.cygnus.com
anonymous@sourceware.cygnus.com
Sat Mar 3 12:46:00 GMT 2001
>Number: 2164
>Category: c
>Synopsis: ICE on NetBSD/i386, gcc 3.0 20010303 (prerelease)
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Sat Mar 03 12:46:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Krister Walfridsson
>Release: gcc version 3.0 20010303 (prerelease)
>Organization:
>Environment:
NetBSD/i386 1.5S (built as a.out)
>Description:
GCC CVS:ed today from the 3.0 branch gives me an ICE when I
try to compile the NetBSD kernel:
gcc -O2 ice.c
ice.c: In function `foo':
ice.c:26: Internal error: Segmentation fault
where ice.c is the small file below (that has been cut out
from the NetBSD sys/dev/ic/aic6360.c)
/Krister
#define I386_BUS_SPACE_IO 0
#define bus_space_read_multi_1(t, h, o, a, c) \
do { \
if ((t) == I386_BUS_SPACE_IO) { \
insb((h) + (o), (a), (c)); \
} else { \
void *dummy1; \
int dummy2; \
int __x __asm__("%eax"); \
__asm __volatile(" \
cld ; \
1: movb (%1),%%al ; \
stosb ; \
loop 1b" : \
"=&a" (__x), "=D" (dummy1), "=c" (dummy2) : \
"r" ((h) + (o)), "1" ((a)), "2" ((c)) : \
"memory"); \
} \
} while (0)
void
foo(void)
{
char chip_id[32];
bus_space_read_multi_1(0, 0, 0, chip_id, 31);
}
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
From: cato@df.lth.se
Reply-To: cato@df.lth.se
X-Send-Pr-Version: gnatsweb-2.6 (1.135)
X-GNATS-Notify:
More information about the Gcc-bugs
mailing list