[Bug 106] New: [ARM] pragma(mangle) not working if -fsection-anchors is enabled
gdc-bugzilla at gdcproject.org
gdc-bugzilla at gdcproject.org
Sat Feb 15 06:04:32 PST 2014
http://bugzilla.gdcproject.org/show_bug.cgi?id=106
Bug #: 106
Summary: [ARM] pragma(mangle) not working if -fsection-anchors
is enabled
Classification: Unclassified
Product: GDC
Version: development
Platform: ARM
OS/Version: All
Status: NEW
Severity: minor
Priority: Normal
Component: gdc
AssignedTo: ibuclaw at gdcproject.org
ReportedBy: johannespfau at gmail.com
------------------------------
__gshared pragma(mangle, "test_эльфийские_письмена_9") int test9_1;
__gshared extern pragma(mangle, "test_эльфийские_письмена_9") int test9_1_e;
void main()
{
test9_1 = 42;
assert(test9_1_e == 42);
}
------------------------------
Compile with '-O2'
Problem: GCC references test9_1 via section anchors, test9_1_e is always done
via a linker relocation to test_эльфийские_письмена_9. The backend then doesn't
realize that test9_1 and test9_1_e are actually the same variable and switches
the order of the assignment and the assert.
The same as a C example:
-----------------------------
int test9_1 asm ("test_эльфийские_письмена_9");
extern int test9_1_e asm ("test_эльфийские_письмена_9");
int main()
{
test9_1 = 42;
return test9_1_e == 42;
}
-----------------------------
Works as expected.
--
Configure bugmail: http://bugzilla.gdcproject.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the D.gnu
mailing list