Lx4U-book/docs/build-system/binutils.md
2021-05-20 13:36:09 +03:00

95 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<package-info :package="package" showsbu2></package-info>
<script>
new Vue({
el: '#main',
data: { package: {} },
mounted: function () {
this.getPackage('binutils');
},
methods: {
getPackage: function(name) {
getPackage(name)
.then(response => this.package = response);
},
}
})
</script>
## Подготовка
Удалите проблемный тест:
```bash
sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
```
В документации пакета {{package.name}} требуется использовать отдельную директорию для сборки:
```bash
mkdir -v build
cd build
```
## Настройка
```bash
../configure --prefix=/usr \
--enable-gold \
--enable-ld=default \
--enable-plugins \
--enable-shared \
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib
```
### Для multilib
Добавьте параметр `--enable-multilib`
### Значения параметров configure
`--enable-gold` - Установить компоновщик `gold`.
`--enable-ld=default` - Установить `ld` и `ld.bfd`.
`--enable-plugins` - Включает поддержку плагинов для компоновщика.
`--enable-64-bit-bfd` - Включает поддержку 64-битных систем.
`--with-system-zlib` - Использовать системную версию `zlib`, а не включенную в пакет.
## Сборка
```bash
make tooldir=/usr
```
## Тестирование
```bash
make -k check
```
## Установка
```bash
make tooldir=/usr install -j1
```
Удалите бесполезные статические библиотеки:
```bash
rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a
```
## Установленные файлы
Программы: addr2line, ar, as, c++filt, dwp, elfedit, gprof, ld, ld.bfd, ld.gold, nm, objcopy, objdump, ranlib, readelf, size, strings и strip
Библиотеки: libbfd.so, libctf.so, libctf-nobfd.so и libopcodes.so
Директории: /usr/lib/ldscripts