2016-12-20 10 views
0

Мне нужно создать общий libc.so для системы System V ABI в системе GNU ABI из источников. Я пытаюсь построить glibc2.16, если это важно.Создание общих libc.so для System V ABI в GNU ABI

Мой gcc-компилятор был создан с параметром по умолчанию --hash, установленным на «sysv». Каждое приложение, построенное с ним, имеет систему V ABI. Каждый, но не libc.

Пытался добавить C * FLAGS -Wl, - hash-style = sysv, но это не сработало. Конфигурация была выполнена, но делалось остановкой с ошибками:

glibc cannot be compiled without optimization 

Я обнаружил, что это из-за варианта опций gcc. Итак, я решил самостоятельно поставить необходимые варианты. Найдено --hash-style = как в Makeconfig, так и в configure.in. Изменил его в sysv. Все библиотеки libs (ld.so и другие) были созданы в соответствии с Системой V. Все, кроме libc.so.

Знаете ли вы, как построить именно libc.so? Благодаря!

ответ

0

После различных комбинаций параметров конфигурации я получил ответ. Нужные команды конфигурации:

Для систем x32:

../configure --prefix=... --enable-kernel=2.4.0 --with-cpu=i686 --build=i686-unknown-linux-gnu CC="gcc -i686" CXX="g++ -i686" 

Для систем x64:

../configure --prefix=... --enable-kernel=2.4.0 --with-cpu=i686 --build=i686-unknown-linux-gnu CC="gcc -m32" CXX="g++ -m32" 

И вам нужно экспортировать CFLAGS со следующим значением:

export CFLAGS="-mtune=native -O2 -pipe"