From:	CRDGW2::CRDGW2::MRGATE::"SMTP::PREP.AI.MIT.EDU::OWNER-INFO-GCC" 30-JUL-1990 20:16:47.22
To:	MRGATE::"ARISIA::EVERHART"
CC:	
Subj:	GCC 1.37.1 under SCO Unix/386 (addendum)

Received:  by crdgw1.ge.com (5.57/GE 1.70)
	 id AA26634; Mon, 30 Jul 90 20:01:33 EDT
Received: by life.ai.mit.edu (4.1/AI-4.10) id AA09068; Mon, 30 Jul 90 16:23:55 EDT
Return-Path: <pdn!tct!chip@uunet.uu.net>
Received: from uunet.uu.net by life.ai.mit.edu (4.1/AI-4.10) id AA08767; Mon, 30 Jul 90 16:11:05 EDT
Received: from pdn.UUCP by uunet.uu.net (5.61/1.14) with UUCP 
	id AA08369; Mon, 30 Jul 90 16:10:58 -0400
Received: by pdn.paradyne.com (/\=-/\ Smail3.1.17.5 #17.30)
	id <m0hwfGf-0000UuC@pdn.paradyne.com>; Mon, 30 Jul 90 14:55 EDT
Received: by tct.uucp (/\=-/\ Smail3.1.18.1 #18.10)
	id <m0hweph-0001HOC@tct.uucp>; Mon, 30 Jul 90 14:27 EDT
Message-Id: <m0hweph-0001HOC@tct.uucp>
From: tct!chip@uunet.uu.net (Chip Salzenberg)
Subject: GCC 1.37.1 under SCO Unix/386 (addendum)
To: info-gcc@prep.ai.mit.edu
Date: Mon, 30 Jul 90 14:27:16 EDT
X-Mailer: ELM [version 2.4dev PL2]

After I sent off my SCO Unix/386 patches, I finally noticed that
all(!) of the temporary labels generated by gcc were being retained in
the symbol tables of my object modules.  The only bad effects were to
(1) use up lots of disk space, and (2) slow my debugger to a c.r.a.w.l
as it scanned the huge symbol table.  The following patch corrects
this oversight.

Index: config/tm-i386g-sco.h
***************
*** 54,57 ****
--- 54,77 ----
  #endif
  
+ /* Prefix for internally generated assembler labels.  */
+ #undef LPREFIX
+ #define LPREFIX ".L"
+ 
+ /* This is how to store into the string BUF
+    the symbol_ref name of an internal numbered label where
+    PREFIX is the class of label and NUM is the number within the class.
+    This is suitable for output with `assemble_name'.  */
+ 
+ #undef ASM_GENERATE_INTERNAL_LABEL
+ #define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)	\
+     sprintf ((BUF), ".%s%d", (PREFIX), (NUMBER))
+ 
+ /* This is how to output an internal numbered label where
+    PREFIX is the class of label and NUM is the number within the class.  */
+ 
+ #undef ASM_OUTPUT_INTERNAL_LABEL
+ #define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM)	\
+   fprintf (FILE, ".%s%d:\n", PREFIX, NUM)
+ 
  /* This is how to output a reference to a user-level label named NAME.  */
  
