Bug 10740 - Fatal GCC error
Summary: Fatal GCC error
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: gnu (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 1999-03-23 04:00 UTC by eischen
Modified: 1999-07-22 22:28 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eischen 1999-03-23 04:00:01 UTC
I found something that causes a fatal GCC bug with both the stock
GCC, and gcc-2.8.1 built from ports.  Here's how it aborts:

  cc -c -O -pipe -DFREEBSD_ELF     -I. -I. -I./config -DHAVE_CONFIG_H \
   -I./../include/opcode -I./../readline  -I../bfd -I./../bfd  -I./../include \
   ada-lang.c
  ada-lang.c: In function `ada_evaluate_subexp':
  ada-lang.c:5951: internal error--insn does not satisfy its constraints:
  (insn 2997 2996 4542 (parallel[ 
              (set (reg:DI 1 %edx)
                  (minus:DI (reg:DI 0 %eax)
                      (reg/v:DI 3 %ebx)))
              (clobber (scratch:SI))
          ] ) 135 {subdi3} (insn_list 2982 (insn_list 2994 (nil)))
      (expr_list:REG_DEAD (mem:DI (plus:SI (reg:SI 6 %ebp)
                  (const_int -64)))
          (expr_list:REG_DEAD (reg/v:DI 3 %ebx)
              (expr_list:REG_UNUSED (scratch:SI)
                  (nil)))))
  cc: Internal compiler error: program cc1 got fatal signal 6
  *** Error code 1

Fix: 

I don't know how to fix GCC, but a work-around to the bug can
be made by changing 2 ocurrences of the following line:

      (*pos) += 3 + BYTES_TO_EXP_ELEM (tem + 1);

in ada-lang.c to

      (*pos) = (*pos) + 3 + BYTES_TO_EXP_ELEM (tem + 1);
How-To-Repeat: This can be reproduced by building the Ada-aware GDB port found at:

  ftp://ftp.pcnet.com/users/eischen/FreeBSD/adagdb-4.17-port.tar.gz

and building with 'make EXPOSE_FATAL_GCC_ERROR=yes'.  If you
don't define EXPOSE_FATAL_GCC_ERROR, a work-around patch is
applied and the port successfully builds.
Comment 1 Tim Vanderhoek 1999-07-22 10:12:36 UTC
On Mon, Jun 21, 1999 at 03:56:23PM -0400, Daniel Eischen wrote:
> >
> > Have you reported this to the GNU maintainers?
> 
> No, I wasn't sure if it was a bug that FreeBSD introduced with
> it's mods to gcc or not.  Now that we're at egcs, perhaps I'll
> try to reproduce the problem again.

There's probably not much we can do with the bug, esp. given that it
appears in the gcc port which has fewer FreeBSD-specific patches...


-- 
This is my .signature which gets appended to the end of my messages.
Comment 2 eischen 1999-07-22 11:06:11 UTC
Tim Vanderhoek wrote:
> On Mon, Jun 21, 1999 at 03:56:23PM -0400, Daniel Eischen wrote:
> > >
> > > Have you reported this to the GNU maintainers?
> > 
> > No, I wasn't sure if it was a bug that FreeBSD introduced with
> > it's mods to gcc or not.  Now that we're at egcs, perhaps I'll
> > try to reproduce the problem again.
> 
> There's probably not much we can do with the bug, esp. given that it
> appears in the gcc port which has fewer FreeBSD-specific patches...

OK, why don't you close it out then.  If I can reproduce it under
egcs, I'll report it to the GNU folks.

Dan Eischen
eischen@vigrid.com
Comment 3 hoek freebsd_committer freebsd_triage 1999-07-22 22:27:44 UTC
State Changed
From-To: open->closed

Originator will be reporting bug to the GNU folks if it reproduces unter 
(s/unter/under/) their latest.