egcs 1.0.1 Internal compiler error
David Levine
levine@cs.wustl.edu
Mon Feb 9 07:58:00 GMT 1998
Hello,
The attached bug is fixed with this patch:
1997-12-10 scott snyder <sss@d0linux01.fnal.gov>
* method.c (make_thunk): Avoid name buffer overflow.
Index: gcc/cp/method.c
===================================================================
RCS file: /d0sgi0/usr0/snyder/CVSROOT/egcs/gcc/cp/method.c,v
retrieving revision 1.1.1.5
diff -c -r1.1.1.5 method.c
*** method.c 1997/12/08 21:06:03 1.1.1.5
--- method.c 1997/12/11 05:40:37
***************
*** 1811,1817 ****
tree function;
int delta;
{
! char buffer[250];
tree thunk_id;
tree thunk;
char *func_name;
--- 1811,1817 ----
tree function;
int delta;
{
! char *buffer;
tree thunk_id;
tree thunk;
char *func_name;
***************
*** 1822,1827 ****
--- 1822,1828 ----
if (TREE_CODE (func_decl) != FUNCTION_DECL)
abort ();
func_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (func_decl));
+ buffer = (char *)alloca (strlen (func_name) + 32);
if (delta<=0)
sprintf (buffer, "__thunk_%d_%s", -delta, func_name);
else
Thanks,
David
------- Forwarded Message
From: levine@cs.wustl.edu
To: egcs-bugs@cygnus.com
Subject: egcs 1.0.1 Internal compiler error
>Submitter-Id: net
>Originator: David Levine
>Organization: Washington University in St. Louis
>Confidential: no
>Synopsis: Internal compiler error
>Severity: critical
>Priority: medium
>Category: g++
>Class: sw-bug
>Release: egcs-2.90.23 980102 (egcs-1.0.1 release)
>Environment:
Linux 2.0.30, RedHat 5.0/Alpha, glibc-2.0.6
Host type: alpha-unknown-linux-gnu
System: Linux cueca 2.0.30 #7 Wed Jan 14 08:39:14 CST 1998 alpha unknown
Architecture: alpha
Addons: crypt linuxthreads localedata
Build CFLAGS: -g -O2
Build CC: gcc
Build shared: yes
Build profile: yes
Build omitfp: no
Stdio: libio
>Description:
levine@cueca:/tmp$ g++ -v -c Server_Logging_Handler.cpp
Reading specs from /usr/local/egcs/lib/gcc-lib/alphaev5-unknown-linux-gnu/egcs-2.90.23/specs
gcc version egcs-2.90.23 980102 (egcs-1.0.1 release)
/usr/local/egcs/lib/gcc-lib/alphaev5-unknown-linux-gnu/egcs-2.90.23/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90 -D__alpha -D__alpha__ -D__linux__ -D__linux -D_LONGLONG -Dlinux -Dunix -D__ELF__ -D__alpha -D__alpha__ -D__linux__ -D__linux -D_LONGLONG -D__linux__ -D__unix__ -D__ELF__ -D__linux -D__unix -Asystem(linux) -Acpu(alpha) -Amachine(alpha) -D__EXCEPTIONS -D__LANGUAGE_C__ -D__LANGUAGE_C -DLANGUAGE_C Server_Logging_Handler.cpp /tmp/cca30060.ii
GNU CPP version egcs-2.90.23 980102 (egcs-1.0.1 release) (Alpha Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/egcs/include/g++
/usr/local/include
/usr/local/egcs/alphaev5-unknown-linux-gnu/include
/usr/local/egcs/lib/gcc-lib/alphaev5-unknown-linux-gnu/egcs-2.90.23/include
/usr/include
End of search list.
/usr/local/egcs/lib/gcc-lib/alphaev5-unknown-linux-gnu/egcs-2.90.23/cc1plus /tmp/cca30060.ii -quiet -dumpbase Server_Logging_Handler.cc -version -o /tmp/cca30060.s
GNU C++ version egcs-2.90.23 980102 (egcs-1.0.1 release) (alphaev5-unknown-linux-gnu) compiled by GNU C version 2.7.2.3.
Server_Logging_Handler.cpp:15: Internal compiler error.
Server_Logging_Handler.cpp:15: Please submit a full bug report to `egcs-bugs@cygnus.com'.
>How-To-Repeat:
See above. The preprocessor output, Server_Logging_Handler.cpp,
is attached.
>Fix:
unknown
8<----------8<----------8<----------8<----------8<----------8<----------8<----
# 1 "Server_Logging_Handler.cpp"
[...]
------- End of Forwarded Message
More information about the Gcc-bugs
mailing list