Hi All,<div><br></div><div>I'm attempting to compile the following function</div><div><br></div><div><font face="'courier new', monospace">int main() {}</font></div><div><br></div><div>
under Ubuntu 10.10 AMD64 with</div><div><br></div><div><font face="'courier new', monospace">clang++ -o empty empty.cpp</font></div><div><br></div><div>and it's yielding</div><div><br>
</div><div><div><font face="'courier new', monospace">/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 0 has invalid symbol index 11</font></div><div><font face="'courier new', monospace">/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 1 has invalid symbol index 12</font></div>

<div><font face="'courier new', monospace"><--- snip (there's about 17 more lines of this...) ---></font></div><div><font face="'courier new', monospace">/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 20 has invalid symbol index 20</font></div>

<div><font face="'courier new', monospace"></font><font face="'courier new', monospace">/usr/lib/gcc/x86_64-linux-gnu/4.5.1/../../../../lib/crt1.o: In function `_start':</font></div>
<div><font face="'courier new', monospace">(.text+0x20): undefined reference to `main'</font></div><div><font face="'courier new', monospace">clang: error: linker command failed with exit code 1 (use -v to see invocation)</font></div>

</div><div><br></div><div>If I run</div><div><br></div><div><font face="'courier new', monospace">clang++ -c -o empty.o empty.cpp</font></div><div><font face="'courier new', monospace">nm empty.o</font></div>

<div><br></div><div>I see</div><div><br></div><div><font face="'courier new', monospace">0000000000000000 T :main</font></div><div><br></div><div>Is that colon the issue? (Object file formats and symbol names are not my area of expertise). In any case renaming ":main" to "main" with objcopy and then running ld manually yields a working executable.</div>
<div><br></div><div>So is this an invalid symbol name? A valid but incorrect one? Is there some flag that clang should be passing to ld to get it to recognise this symbol? I'd file a bug report, but as you can tell I'm slightly hazy on what the bug is.</div>
<div><br></div><div>Cheers,</div><div>Lang.</div><div><br></div><div><br></div>
<div><br></div><div><br></div>