Я строю общую библиотеку на Linux с помощью gcc. Я не получаю ошибок компиляции или ссылки, но мой общий объект всегда имеет установленный бит выполнения (хотя readelf указывает, что это общий объект). Я просто делаю это:
> echo "int f() {return 1;}" > a.cpp
> gcc -c a.cpp
> gcc -shared -o liba.so a.o
> ls -l liba.so
-rwxr-xr-x 1 me me 6652 2011-06-09 17:05 liba.so
Почему для общего объекта установлен бит выполнения?