Since x32 pointer size is 4 bytes, the self pointer offset in TCB:
struct
{
void *tcb;
dtv_t *dtv;
void *self;
...should be 8, not 16.
Differential D125025
[sanitizer] Correct GetTls for x32 Authored by hjl.tools on May 5 2022, 10:46 AM.
Details
Since x32 pointer size is 4 bytes, the self pointer offset in TCB: struct
{
void *tcb;
dtv_t *dtv;
void *self;
...should be 8, not 16.
Diff Detail
|