Я читаю из локальной переменной потока в своем коде следующим образом:
// tid_local is declared as __thread int tid_local;
long tid = tid_local
Осмотрев разобранный код, я увидел что-то вроде этого, и я подозреваю, что это инструкция, которая назначает tid путем чтения tid_local.
movslq %fs:0xfffffffffffffffc,%rbx
Теперь мой вопрос: действительно ли это может быть инструкция, которая это делает, то есть чтение из локальной переменной потока, и всегда ли gcc использует сегмент fs для хранения локальных переменных потока. Как это должно работать?