2024-04-24 23:11 AEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000345mercuryBugpublic2014-07-14 10:20
Reporterwangp 
Assigned To 
PrioritylowSeverityminorReproducibilityalways
StatusnewResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000345: name mangling produces very long symbols
Descriptiongcc 4.2.0 on on AIX 7.1 happens to crash on very long symbols. I suspect there is a fixed size buffer somewhere about 256 bytes long.

While this is not a bug in Mercury, we may want to use a different name mangling algorithm which produces shorter and, preferably, more readable symbols, e.g. only escaping the characters which are not allowed in C identifiers.
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0000740

juliensf (administrator)

Is that a limitation of that version of GCC (which is quite old), or is it a more fundamental restriction (e.g. the linker only accepts symbol names of a certain length)?

~0000741

wangp (developer)

That version of gcc crashes during compilation. xlc deals with it fine, and so does the linker.

~0000742

juliensf (administrator)

Can you not just use a more recent version of GCC (i.e one that isn't eight years old)?

In relation to name mangling, we should probably revisit this anyway since there are a series of bugs
with the other backends in relation to it as well.
+Notes

-Issue History
Date Modified Username Field Change
2014-07-11 17:14 wangp New Issue
2014-07-11 20:13 juliensf Note Added: 0000740
2014-07-14 10:15 wangp Note Added: 0000741
2014-07-14 10:20 juliensf Note Added: 0000742
+Issue History