Alexander Shiryaev писал(а):
... Кроме того, errno не всегда работает (даже ести он есть в libc.so.6), а __errno_location всегда (см.
здесь и OpenBUGS).
Процитированное и отражено в LinErrno: приоритет отдаётся выдаче через __errno_location, если же его нет, то выдаётся переменная errno, адрес которой получается динамически. Для последнего есть тест, который показывает что он отличается от того, который выдаёт система при статическом связывании с библиотекой.
Примеры наличия в двух библиотеках --- эмпирика, которая не есть доказательство. Доказательством бы я счёл заявление какого-либо стратига развития libc, который бы озвучил факт перехода на новое решение (и поддержку старого для обратной совместимости). Или что-то вроде.
Может кто видел?
Короче, вопрос подхода:
1) Для меня, как математика опытное доказательство в голове не воспринимается. Может быть товарищи физики, кои тут однозначно в большинстве, на меня повлияют.
2) Нужна ли нам обратная совместимость с древними версиями libc?
Голосуйте, товарищи физики. я же, в своём меньшинстве, воздержусь.