| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0000345 | mercury | Bug | public | 2014-07-11 17:14 | 2014-07-14 10:20 | ||||||||
| Reporter | wangp | ||||||||||||
| Assigned To | |||||||||||||
| Priority | low | Severity | minor | Reproducibility | always | ||||||||
| Status | new | Resolution | open | ||||||||||
| Product Version | |||||||||||||
| Target Version | Fixed in Version | ||||||||||||
| Summary | 0000345: name mangling produces very long symbols | ||||||||||||
| Description | gcc 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. | ||||||||||||
| Tags | No tags attached. | ||||||||||||
| Attached Files |
| ||||||||||||
Notes |
|
|
juliensf (administrator) 2014-07-11 20:13 |
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)? |
|
wangp (developer) 2014-07-14 10:15 |
That version of gcc crashes during compilation. xlc deals with it fine, and so does the linker. |
|
juliensf (administrator) 2014-07-14 10:20 |
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. |


