This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: alpha/OSF1 -g bug
- To: Ian Lance Taylor <ian at cygnus dot com>
- Subject: Re: alpha/OSF1 -g bug
- From: Dean Povey <povey at dstc dot qut dot edu dot au>
- Date: Wed, 12 Nov 97 09:25:20 +1000
- Cc: egcs at cygnus dot com
> From: Dean Povey <povey@dstc.qut.edu.au>
> Date: Wed, 12 Nov 97 09:15:12 +1000
>
> > From: Dean Povey <povey@dstc.qut.edu.au>
> > Date: Fri, 07 Nov 97 12:01:20 +1000
> >
> > mips-tfile, /tmp/ccaauAsa.s:1421 String too big (4104 bytes)
> >
> >It's mips-tfile which is reporting the error. That is part of egcs.
> >You can probably just increase the size of PAGE_SIZE in mips-tfile.c
> >to make it work again. I'm not sure why mips-tfile.c has this fixed
> >limit.
> >
>
> Nope, that breaks the compiler.
>
> There must be a better way.
>
>Well, I don't know what it is.
>
>I do know that the error is coming from the mips-tfile program which
>is part of gcc. It's not a bug in the OSF assembler, nor in gcc.
>
That is definitely right. It is choking on this line of code:
STATIC symint_t
add_string (vp, hash_tbl, start, end_p1, ret_hash)
varray_t *vp; /* string virtual array */
shash_t **hash_tbl; /* ptr to hash table */
const char *start; /* 1st byte in string */
const char *end_p1; /* 1st byte after string */
shash_t **ret_hash; /* return hash pointer */
{
register Ptrdiff_t len = end_p1 - start;
register shash_t *hash_ptr;
symint_t hi;
if (len >= PAGE_USIZE)
fatal ("String too big (%ld bytes)", (long) len);
I am not up on the gcc architecture, but the comments in mips-tfile seem to
indicate that because the strings are being stored in hash tables, they
can't exceed page boundaries. This seems like a bit of a painful limitation
with the size of strings generated by C++ mangling of names. I am not sure
that
this is an easily fixed problem.
Thanks for your help anyway.
Dean.
--
Dean Povey, | Email: povey@dstc.qut.edu.au
Research Scientist, Security Unit, | Phone: +61 7 3864 2799
CRC for Distributed Systems Technology | Fax: +61 7 3864 1282
Queensland University of Technology | www.dstc.edu.au/events/roadshow/