Two pieces of example code; first some C++ code calling into assembly:
/* test1.cc */
#include
extern \"C\" void blah();
extern \"C\" void s
I found an answer in the GNU assembler manual; quoting from that doc:
A local symbol is any symbol beginning with certain local label prefixes. By default, the local label prefix is ‘.L’ for ELF systems or ‘L’ for traditional a.out systems, but each target may have its own set of local label prefixes.
Sure enough, as soon as I put .L
on there, it worked.
.L
labels don't appear as symbols in the object file.