[devel] libc on i586: WTF?

REAL root на mmedia2.kemsu.ru
Сб Окт 16 04:26:18 UTC 2010


Привет!

Что-то загадочное произошло на вчерашнем срезе сизифа (может быть и 
раньше так было, только не замечал):

$ gfortran -O2 -c ilaenv.f
$ nm ilaenv.o|grep stack_chk_fail
                  U __stack_chk_fail

НО:
$ gfortran -fPIC -O2 -c ilaenv.f
$ nm ilaenv.o|grep stack_chk_fail
                  U __stack_chk_fail_local

Проявляется на i586, на x86_64 всё в порядке.

Символ __stack_chk_fail_local присутствует только в libc.a, не в libc.so:

$ nm /usr/lib/libc.a|grep stack_chk_fail
stack_chk_fail.o:
0000000000000000 T __stack_chk_fail
stack_chk_fail_local.o:
                  U __stack_chk_fail
0000000000000000 T __stack_chk_fail_local

$ nm -D /lib/libc.so.6|grep stack_chk_fail
00000000000e09a0 T __stack_chk_fail

Как дальше жидь?

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


Подробная информация о списке рассылки Devel