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