[LLVMbugs] [Bug 630] NEW: [llvm-gcc] Using __asm__ to rename symbols is broken on OS/X

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Sep 24 00:23:27 PDT 2005


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=630

           Summary: [llvm-gcc] Using __asm__ to rename symbols is broken on
                    OS/X
           Product: tools
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-gcc
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org


LLVM miscompiles this:

void foo() __asm__("_foo2");
void bar() {
  foo();
}

"_" (aka USER_LABEL_PREFIX in GCC target header files) should only be added to *user* symbols, not to 
__asm__'s.  Because of this, the "foo" function should really reference "_foo2", not "__foo2".

The right way to do this is to remove the "_" prefixification from the darwin asm printer, and make the 
CFE add USER_LABEL_PREFIX to user labels (duh), but not asm labels.

-Chris



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the llvm-bugs mailing list