[Bug inline-asm/66631] inability to clobber segment regs makes tls problematic

stsp at users dot sourceforge.net gcc-bugzilla@gcc.gnu.org
Mon Jun 22 23:18:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66631

--- Comment #5 from Stas Sergeev <stsp at users dot sourceforge.net> ---
(In reply to Andrew Pinski from comment #4)
> (In reply to Stas Sergeev from comment #3)
> > The signal handler needs to do the following things:
> > 1. Restore segment registers (init_handler() func)
> 
> Why are you doing this, that is the question I am trying to understand here.
> What signal handler is happening?
Ah, OK.
This is a jit compiler.
It uses segment registers at will, and it uses
a memory protection too, so the signal is SIGSEGV.

> Because you can't do this under Linux at
> all.
What exactly do you mean?

> I am also trying to understand if you are writing a kernel/userspace why you
> can't write this part in pure assembly function instead of using GCC here to
> do this work.
How am I supposed to access TLS in asm?
init_handler() itself is mostly in asm though, yes.
But the main sighandler is a huge convoluted func.



More information about the Gcc-bugs mailing list