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>