Sergey Bugaev via Libc-alpha, le jeu. 13 avril 2023 13:02:58 +0300, a ecrit:
> this is our very own thread port, the result of mach_thread_self ()
> which was called just several moments ago in hurd_self_sigstate ()!

IIRC this is cached inside glibc... in a TLS variable probably. And thus
if that cache is not properly set up because TLS/non-TLS is not clear at
some point, mayhem happens :)

> > (gdb) watch $gs
> > Watchpoint 2: $gs
> > (gdb) c
> > Continuing.
> 
> Cool, I didn't know you could watch a register like that -- although
> it appears to be super slow, so it must be not using hardware
> watchpoints.

Yes, it's all software. Gdb can do a lot in software, it's just very slow :)

> What you should really check is not what GDB prints on "l __write",
> but rather what the GOT/PLT slots inside ld.so contain;

Yes, sure, I just don't have time to dive into that.

Samuel

Reply via email to