digitalmars.D.ldc - How do I make LDC use the stack only?
- Mateus (14/14) Nov 10 2021 I'm creating a [D operating system
- rikki cattermole (2/2) Nov 10 2021 All of those examples should work. Apart from c which is a global, its
- max haughton (3/19) Nov 10 2021 I Need a definition of what "does not work" means i.e. with
- Kagamin (2/2) Nov 11 2021 `b` is likely initialized with sse2 instructions, maybe your
- Mateus (4/6) Nov 11 2021 I was getting interrupt #6 (invalid opcode). I tried compiling
I'm creating a [D operating system kernel](https://github.com/m4t3uz/leaf-d). Thread local storage (TLS) is not available so it cannot be used. My D kernel compiles correctly with DMD but it fails with runtime errors on LDC. I guess LDC promotes some stack variables to TLS for example: ```d void f() { ubyte[15] a; // works ubyte[16] b; // does not work __gshared ubyte[16] c; // works MyStruct d; // does not work } ``` How do I make LDC use the stack only? Should I file a bug report?
Nov 10 2021
All of those examples should work. Apart from c which is a global, its all on the stack.
Nov 10 2021
On Thursday, 11 November 2021 at 03:10:48 UTC, Mateus wrote:I'm creating a [D operating system kernel](https://github.com/m4t3uz/leaf-d). Thread local storage (TLS) is not available so it cannot be used. My D kernel compiles correctly with DMD but it fails with runtime errors on LDC. I guess LDC promotes some stack variables to TLS for example: ```d void f() { ubyte[15] a; // works ubyte[16] b; // does not work __gshared ubyte[16] c; // works MyStruct d; // does not work } ``` How do I make LDC use the stack only? Should I file a bug report?I Need a definition of what "does not work" means i.e. with output of the error.
Nov 10 2021
`b` is likely initialized with sse2 instructions, maybe your processor doesn't support sse2.
Nov 11 2021
On Thursday, 11 November 2021 at 08:36:37 UTC, Kagamin wrote:`b` is likely initialized with sse2 instructions, maybe your processor doesn't support sse2.the kernel with --march=x86 --mcpu=i386 and it worked! Thank you very much!
Nov 11 2021