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