Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Mar 1999 10:59:42 -0500
From:      "Daniel M. Eischen" <eischen@vigrid.com>
To:        freebsd-hackers@FreeBSD.org
Subject:   Fatal GCC error found
Message-ID:  <36F668EE.2781E494@vigrid.com>

next in thread | raw e-mail | index | archive | help
I found something that causes a fatal GCC bug.  This is with
both the stock FreeBSD gcc and the port for gcc-28.  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.

For anyone interested in tracking this down, 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

The fix to this is to change 2 ocurrences of the following line:

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

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

If someone knows how to fix this, please let me know.  I'm going to
file a PR on this later tonight.

Dan Eischen
eischen@vigrid.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36F668EE.2781E494>