This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c/4399: gcc fails to recognize insn
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c/4399: gcc fails to recognize insn
- From: david at blue-labs dot org
- Date: 26 Sep 2001 02:35:41 -0000
- Reply-To: david at blue-labs dot org
>Number: 4399
>Category: c
>Synopsis: gcc fails to recognize insn
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Tue Sep 25 19:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: david@blue-labs.org
>Release: gcc-20010917.tar.gz
>Organization:
>Environment:
Linux kernel 2.4.10
>Description:
gcc fails to compile linux/kernel/context.c:42 when AMD K6 cpu type is selected
gcc -D__KERNEL__ -I/usr/local/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=k6 -DEXPORT_SYMTAB -c context.c
context.c: In function `current_is_keventd':
context.c:42: Unrecognizable insn:
(insn 67 24 25 (parallel[
(set (reg/v:SI 3 ebx [42])
(const_int 0 [0x0]))
(clobber (reg:CC 17 flags))
] ) -1 (nil)
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))
context.c:42: Internal compiler error in insn_default_length, at insn-attrtab.c:223
code:
static int keventd_running;
static struct task_struct *keventd_task;
static int need_keventd(const char *who)
{
if (keventd_running == 0)
printk(KERN_ERR "%s(): keventd has not started\n", who);
return keventd_running;
}
int current_is_keventd(void)
{
int ret = 0;
if (need_keventd(__FUNCTION__))
ret = (current == keventd_task);
return ret;
}
closing brace of last function is line 42.
>How-To-Repeat:
Compile a 2.4.x linux kernel linux/kernel/context.c file
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: