21.05 toolchain C tls variables compilation problem

Christian Prochaska christian.prochaska at genode-labs.com
Thu Jun 10 13:37:50 CEST 2021


Hi Alexander,

On 09.06.21 16:01, Alexander Tormasov via users wrote:
> small c file:
>
> typedef int G;
> __thread G *g __asm__("" "runtime.g");
> G* runtime_g(void) __attribute__ ((noinline, no_split_stack));
> G* runtime_g(void) {  return g; }
>
> during compilation using genode-x86-gcc 10.3 error in asm (and checked genode-x86-as as well):
> tt1.s: Assembler messages:
> tt1.s:22: Error: junk at end of line, first unrecognized character is `*'
> tt1.s:25: Error: unrecognized symbol type ""
> tt1.s:25: Error: junk at end of line, first unrecognized character is `*'
> tt1.s:26: Error: expected comma after name `__emutls_v.' in .size directive
> tt1.s:27: Error: invalid character '*' in mnemonic
> tt1.s:13: Error: invalid operands (*UND* and *UND* sections) for `*’

I tried to compile your test program with the 19.05 Genode tool chain and got the same error. Does it happen only with gcc 10.3 for you?

Christian



More information about the users mailing list