>>529
errno は型 int を持つ変更可能な左辺値に展開されるならマクロで定義されてもよいことになっている。
昔の C には記憶域期間の分類にスレッドは無かったが
#define errno *__foo()
みたいな感じで定義しておいて、
この関数がスレッドごとに適切な場所を返すように作っておけば辻褄は合う。