Hello Christian,

> 
> On Wed, Jun 09, 2021 at 16:45:17 CEST, Alexander Tormasov via users wrote:
>> found that key problem here is
>>> __thread G *g __asm__("" "runtime.g»);
>> in form of
>>> __thread G *g ;
>> it works, so, question - how to use this asm synonym for __thread variables 
>> in 10.3? 

> Do you also see this error with a Linux-native GCC 10 tool chain?

No, I checked both 9 and 10
they generate something like
        .file   "t.c"
        .text
        .globl  runtime.g
        .section        .tbss,"awT",@nobits
        .align 8
        .type   runtime.g, @object
        .size   runtime.g, 8
runtime.g:
        .zero   8
        .text
        .globl  runtime_g
        .type   runtime_g, @function
runtime_g:
.LFB0:
        .cfi_startproc
        endbr64
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movq    %fs:runtime.g@tpoff, %rax
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   runtime_g, .-runtime_g
…

While genode build toolchain generate wrong asm, see previous letter - instead 
of
        movq    %fs:runtime.g@tpoff, %rax
it generate syntactically incorrect name for runtime.g
>       movl    $__emutls_v.*runtime.g, %edi
>       call    __emutls_get_address

seems that this is genode - build specific problem...

> 
> BTW, may the GCC community (or even Stackoverflow) be a much better
> place to ask this general question than this mailing list? I doubt we
> have to offer many GCC experts in the Genode crowd.

may be -while, as you see, this is not gcc bug.
And I hope that you already encounter something like this before, during port 
to 10.3 of current code base

Sincerely,
        Alexander


_______________________________________________
Genode users mailing list
[email protected]
https://lists.genode.org/listinfo/users

Reply via email to