libgcc
При компиляции динамических библиотек с помощью GCC требуется, чтобы
libgcc
могла быть загружена во время выполнения программы. Поэтому нам нужно скопировать библиотекуlibgcc
, которая ранее была собрана для кросс-компилятора.
- Версия: 13.2.0
- Домашняя страница: https://gcc.gnu.org
- Время сборки: 0.01 ОВС
Подготовка
Объявите переменную окружения LGCC_LIB
, которая будет содержать имя директории lib{,64}
, где содержится необходимая нам библиотека (в зависимости от архитектуры название этой директории различается):
if [ $LFA_TGT == "aarch64-linux-musleabihf" ]; then
LGCC_LIB="lib64"
else
LGCC_LIB="lib"
fi
Значения новых параметров:
if [ $LFA_TGT == "aarch64-linux-musleabihf" ]; then ...
— если вы собираете систему для 64-битной архитектуры, то нужная библиотека содержится в каталоге$LFA_CROSS/lib64
. А для 32-битных архитектур семейства ARM нужная библиотека содержится в$LFA_CROSS/lib
. В зависимости от целевой архитектуры мы вибираем, откуда копироватьlibgcc_s.so.1
и куда.
Установка
Скопируйте библиотеку в директорию собираемой ОС:
cp -v $LFA_CROSS/$LGCC_LIB/libgcc_s.so.1 $LFA_SYS/$LGCC_LIB
Удалите из установленной библиотеки лишние для вас отладочные символы:
$STRIP $LFA_SYS/$LGCC_LIB/libgcc_s.so.1
Переменная LGCC_LIB
нам больше не нужна, удалите её:
unset LGCC_LIB
Содержимое пакета
- Установленные библиотеки:
libgcc_s.so.1
Описание компонентов
libgcc_s.so.1
— при компиляции динамически линкуемых программ с помощью GCC требуется, чтобы во время выполнения такой программы была загружена библиотекаlibgcc_s.so.1
из состава GCC.