Флаг --as-needed говорит линкеру линковать с новым бинарным файлом только те библиотеки, функции которых он использует напрямую (в коде).
Недавно, мне потребовалось собрать из gcc кросскомпилятор для ARM-архитектуры. К сожалению, в интернете нет актуальной how-toшки с детальным описание того, как
просто собрать
только кросскомпилятор под нужную мне архитектуру.
Методом "научного тыка" я похоже набрел на последовательность действий, которая позволила мне наконец-то собрать для себя кросскомпилятор.
Описание под катом.
Есть вопрос, лишь в учебных целях, как прилинковать файл созданный gcc с помощью ld.
Возможно кто-то разбирался как оно устроенно, но я сдался.
Решение: использовать gcc с опцией -v. Конечно, появляется вопрос, что такое collect2, но не относится к данному вопросу.