http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52606

--- Comment #7 from Janne Blomqvist <jb at gcc dot gnu.org> 2012-03-21 08:48:38 
UTC ---
(In reply to comment #6)
> (In reply to comment #5)
> > What was the motivation for this hashing scheme, BTW? Linkers already 
> > support
> > 1) long symbol names (I read somewhere that OpenOffice has symbols up to 
> > 4000
> > (!!!) characters long) 2) various symbol hashing schemes (see e.g.
> > DT_GNU_HASH).
> 
> I think the idea was to have legible dumps (i.e. avoid hashing everything) but
> also to fit them into the various  name[GFC_MAX_SYMBOL_LEN]  variables which
> simply do not take longer names.
> 
> If you think one can/should improve the scheme, feel free to propose something
> better.

Well, the obvious fix would be to not try cramming mangled identifiers into
buffers which are statically sized only to hold unqualified identifiers, no?
Essentially, Steven B's proposal in #c1 would fix this as a side-effect.

Adding insult to injury, a workaround for this design mistake is enshrined in
our ABI.. *sigh*.

Grepping for GFC_MAX_SYMBOL_LEN shows 118 occurences, so it would be quite a
large patch, but probably quite mechanical for the most part. Steven, are you
planning to fix this?

Reply via email to