Minor pa.c patch
Jeffrey A Law
law@cygnus.com
Wed Nov 22 05:43:00 GMT 2000
The compiler wasn't bootstrapping because we were getting weird unresolved
symbol errors when linking code produced by the compiler -- basically all
external names were missing their last character.
This was caused by a latent but from the GC conversion. When allocating
GC memory for an encoded label name, we forgot to include the space for
the encoding characters in the allocation. OOps.
This brings the compiler back to bootstrapville. Onward to V3 conversion.
* pa.c (hppa_encode_label): Account for addition of encoding
character when allocating persistent space for the new label
name.
Index: pa.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/pa/pa.c,v
retrieving revision 1.83
diff -c -3 -p -r1.83 pa.c
*** pa.c 2000/11/17 06:05:23 1.83
--- pa.c 2000/11/22 13:38:46
*************** hppa_encode_label (sym)
*** 5954,5959 ****
--- 5954,5964 ----
strcpy (newstr + 1, str);
*newstr = '@';
+ /* Prepending '@' increases the length of the string. That's important
+ to note since we're going to allocate persistent storage for the
+ new string. */
+ len++;
+
XSTR (sym,0) = ggc_alloc_string (newstr, len);
}
More information about the Gcc-patches
mailing list