First Last Prev Next    No search results available
Details
: [llvm-gcc] Using __asm__ to rename symbols is broken on OS/X
Bug#: 630
: tools
: llvm-gcc
Status: RESOLVED
Resolution: FIXED
: Macintosh
: MacOS X
: 1.3
: P2
: normal
: 1.6

:
: compile-fail
:
:
  Show dependency tree - Show dependency graph
People
Reporter: Chris Lattner <sabre@nondot.org>
Assigned To: Chris Lattner <sabre@nondot.org>
:

Attachments


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2005-09-24 02:23
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

First Last Prev Next    No search results available