[Issue 20621] New: Since DMD 2.087.0: 32 Bit Linux now uses XMM registers: SIGILL, Illegal instruction on intel Pentium III
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Feb 27 21:59:44 UTC 2020
https://issues.dlang.org/show_bug.cgi?id=20621
Issue ID: 20621
Summary: Since DMD 2.087.0: 32 Bit Linux now uses XMM
registers: SIGILL, Illegal instruction on intel
Pentium III
Product: D
Version: D2
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: kdevel at vogtner.de
STR (copied from [1]):
```test.d
void main ()
{
int [] v = new int [10];
}
```
$ [...]linux/bin32/dmd test
$ gdb test
[...]
(gdb) r
[...]
Program received signal SIGILL, Illegal instruction.
0x0809ad14 in _D2gc4impl12conservativeQw3Gcx10smallAllocMFNbkKkkxC8TypeInfoZPv
()
[...]
(gdb) disass
[...]
0x0809ad14
<_D2gc4impl12conservativeQw3Gcx10smallAllocMFNbkKkkxC8TypeInfoZPv+172>:
movsd -0x58(%ebp),%xmm0
ddemangled:
nothrow void* gc.impl.conservative.gc.Gcx.smallAlloc(uint, ref uint, uint,
const(TypeInfo))
Is this Component = druntime or phobos?
Why does memory allocation use an XMM register in the first place?
[1] http://forum.dlang.org/thread/suwlbzlgqdylfauwgteu@forum.dlang.org
--
More information about the Digitalmars-d-bugs
mailing list