[LLVMbugs] [Bug 7635] New: Inline assembly in C++ source fails to link
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Jul 13 04:48:18 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=7635
Summary: Inline assembly in C++ source fails to link
Product: clang
Version: trunk
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: LLVM Codegen
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: bjorn at topel.se
CC: llvmbugs at cs.uiuc.edu
The following snippet generates the following linker (ld) error:
ld: in /var/folders/Eb/Ebu2gEwcHfeuStO9hJ4SQk+++TI/-Tmp-/cc-u4eXeR.o, in
section __TEXT,__text reloc 0: unsupported r_length=0 for scattered vanilla
reloc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
which works for g++.
-arch i386
--
//in.cc
typedef void (*FuncPtr)(void);
extern "C" {
void j(void)
{
}
} // extern "C"
int main()
{
unsigned int tmp = 655341895;
asm("neg %0\n\t"
"addl $(_j + 655341895),%0\n"
: "+r" (tmp));
((FuncPtr)(tmp))();
return 0;
}
Note that the generated .s file generated by clang links using g++, i.e.
$ clang++ -arch i386 -S -o t.s in.cc
$ g++ -arch i386 t.s # OK
$ clang++ -arch i386 t.s # NOK
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list