[Issue 16045] New: Unable to loading global variables in inline assembly with -fPIC
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu May 19 06:22:32 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16045
Issue ID: 16045
Summary: Unable to loading global variables in inline assembly
with -fPIC
Product: D
Version: D2
Hardware: x86_64
OS: Windows
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: aliloko at gmail.com
Consider the following source file `asm_pic.d`:
align(16) static immutable short[8] A = [ 1, 1, 1, 1, 3, 3, 3, 3 ];
void main()
{
asm
{
pmullw XMM0, A;
}
}
LDC 1.0.0-b1 thinks it's compatible with PIC code.
```bash
$ ldc2 asm_pic.d # ok
$ ldc2 -relocation-model=pic asm_pic.d # ok
```
DMD disallows to load the constant in PIC code.
$ dmd asm_pic.d # ok
$ dmd -fPIC asm_pic.d # fail
asm_pic.d(7): Error: cannot directly load global variable 'A' with PIC code
--
More information about the Digitalmars-d-bugs
mailing list