GDC 11.3/12.1 -m32: Illegal instruction (core dumped) [SSE, Pentium III]

kdevel kdevel at vogtner.de
Fri May 13 16:07:19 UTC 2022


On Friday, 13 May 2022 at 09:22:40 UTC, Iain Buclaw wrote:
[...]
>> [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95661
>>     Bug 95661 - Code built with -m32 uses SSE2 instructions
>
> Reminds me of another GCC bug I encountered on Solaris/Pentium4 
> that appears to have been introduced around the 10.x 
> development as well.
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103015

And this reminds me of

    https://issues.dlang.org/show_bug.cgi?id=12268
    Issue 12268 - full static linking does not work, unresolved 
__tls_get_addr
    (2014)

    
http://forum.dlang.org/thread/vewesvrimtnmcrtygjam@forum.dlang.org
    dmd (v2.075.0): fully static linking: undefined reference to 
`__tls_get_addr'
    (2017)

I don't know if this is the right way to work around this issue:

    #define _GNU_SOURCE
    #include <dlfcn.h>

    __attribute__((force_align_arg_pointer)) void *__tls_get_addr 
(void *ti)
    {
       void *(*tga)(void*) = dlsym(RTLD_NEXT, "__tls_get_addr");
       if (! tga)
          return ti;
       return tga(ti);
    }



More information about the Digitalmars-d mailing list