Кто-нибудь понимает ldlang.c? Я смотрю на него как баран на новые ворота и не врубаюсь. Он меня не любит. Нужно ужесточить обработку --version-script файлов. А именно, нужно сделать вот что. 1) Если какой-либо global литерал или паттерн не соответствует никакому символу, выпускать warning с именем соответствующего литерала или паттерна. 2) Если какой-либо local литерал не соответствует никакому символу, выпускать warning с именем соответствующего литерала. 3) Дополнительно выпускать warning с именем интерфейса, если никакой литерал и/или паттерн в global и/или local не соответствует какому-либо символу. 4) Дополнительно к п.3, НЕ СОЗДАВАТЬ соответствующий интерфейс в бинарике. Сейчас получается так, что интерфейс создается в любом случае, что скорее плохо, чем хорошо. $ cd `mktemp -d` $ cp -pv /dev/null test.c `/dev/null' -> `test.c' $ echo 'asdf{zxcv;};' >map $ mkdir -pv ./lib $ gcc -shared test.c -Wl,--version-script=map -Wl,-soname=libsoname.so.0 -o ./lib/libsoname.so.0 test.c $ RPM_BUILD_ROOT=$PWD RPM_LIB=lib RPM_FINDPROV_METHOD=all /usr/lib/rpm/find-provides <<< $PWD/lib/libsoname.so.0 libsoname.so.0 libsoname.so.0(asdf) $ rm -rf $PWD && cd $