Порядок компиляции при кросс-компиляции Linux

Я вижу, что это происходит, если скрипт запускается с Bash 4.3.30, но не с Bash 4.4.12. (Версия оболочки, в которой запущен скрипт, похоже, не имеет большого значения.)

Я больше не делил это пополам, но в журнале изменений есть вот это, похоже, что это применимо:

This document details the changes between this version, bash-4.4-rc1, and
the previous version, bash-4.4-beta.

i.  Fixed a bug that caused background processes run from non-interactive shells
    with job control enabled to place the terminal in the wrong process group
    under certain circumstances.

0
04.10.2021, 01:47
1 ответ

Вы начинаете с «автономного» кросс-компилятора, то есть без интеграции с ОС. Это будет работать только для интерфейса C.

При этом вы можете скомпилировать ядро ​​и библиотеку C (, для которой требуются заголовки ядра ).

Когда библиотека C будет собрана, вы сможете скомпилировать кросс-компилятор с полной интеграцией с ОС и языковой поддержкой.

Для gcc обычно требуется немного больше усилий, так как общая библиотека libgcc должна быть связана с общей библиотекой libc, а общая библиотека может потребоваться для связи с общей libgcc, но это в значительной степени оптимизация, которая экономит несколько килобайт и некоторые усилия во время -обновлений места, потому что он удаляет все зависимости компилятора от libc (, что позволяет повторно использовать его ).

1
04.10.2021, 04:36

Теги

Похожие вопросы