mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-23 14:32:18 +08:00
Update
This commit is contained in:
parent
604dcf300e
commit
b94cee6633
@ -2,25 +2,17 @@
|
|||||||
|
|
||||||
## Подготовка
|
## Подготовка
|
||||||
|
|
||||||
Удалите проблемный тест:
|
Исправьте ошибку, затрагивающею сборку некоторых пакетов:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
{{ include('../packages/binutils/prepare') }}
|
{{ include('../packages/binutils/prepare') }}
|
||||||
```
|
```
|
||||||
|
|
||||||
Примените патч
|
Примените патч:
|
||||||
```bash
|
```bash
|
||||||
{{ include('../packages/binutils/patch') }}
|
{{ include('../packages/binutils/patch') }}
|
||||||
```
|
```
|
||||||
|
|
||||||
<!-- temp solution TODO: Remove in next versions -->
|
|
||||||
Ошибка в системе сборки приводит к тому, что страницы руководства становятся пустыми. Можно обойти проблему, чтобы страницы руководства были созданы правильно:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sed -i '63d' etc/texi2pod.pl
|
|
||||||
find -name \*.1 -delete
|
|
||||||
```
|
|
||||||
|
|
||||||
## Настройка
|
## Настройка
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -58,4 +58,3 @@
|
|||||||
|
|
||||||
Библиотеки: libffi.so
|
Библиотеки: libffi.so
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
{{ include('../packages/zstd/README.md') }}
|
{{ include('../packages/zstd/README.md') }}
|
||||||
|
|
||||||
|
## Подготовка
|
||||||
|
|
||||||
|
Примените патч:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
patch -Np1 -i ../zstd-1.5.2-upstream_fixes-1.patch
|
||||||
|
```
|
||||||
|
|
||||||
## Сборка
|
## Сборка
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -46,7 +54,7 @@
|
|||||||
|
|
||||||
## Установленные файлы
|
## Установленные файлы
|
||||||
|
|
||||||
Программы: zstd, zstdcat (link to zstd), zstdgrep, zstdless, zstdmt (ссылка на zstd), and unzstd (ссылка на zstd)
|
Программы: zstd, zstdcat (ссылка на zstd), zstdgrep, zstdless, zstdmt (ссылка на zstd), and unzstd (ссылка на zstd)
|
||||||
|
|
||||||
Библиотеки: libzstd.so
|
Библиотеки: libzstd.so
|
||||||
|
|
||||||
|
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
## Подготовка
|
## Подготовка
|
||||||
|
|
||||||
|
Исправьте ошибку связанную с поставкой устаревшей версии `libtool` вместе с `Binutils`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sed '6009s/$add_dir//' -i ltmain.sh
|
||||||
|
```
|
||||||
|
|
||||||
Пакет Binutils требует использовать отдельную директорию для сборки. Создайте её:
|
Пакет Binutils требует использовать отдельную директорию для сборки. Создайте её:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -35,6 +41,5 @@ make
|
|||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make DESTDIR=$LIN install -j1
|
make DESTDIR=$LIN install
|
||||||
install -vm755 libctf/.libs/libctf.so.0.0.0 $LIN/usr/lib
|
|
||||||
```
|
```
|
||||||
|
@ -32,32 +32,40 @@ mkdir -v build
|
|||||||
cd build
|
cd build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Исправьте ошибку кросс-компиляции `libstdc++':
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sed 's/gnu++17/& -nostdinc++/' \
|
||||||
|
-i libstdc++-v3/src/c++17/Makefile.in
|
||||||
|
```
|
||||||
|
|
||||||
Разрешим сборку `libgcc` с поддержкой многопоточности:
|
Разрешим сборку `libgcc` с поддержкой многопоточности:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -pv $LIN_TGT/libgcc
|
sed '/thread_header =/s/@.*@/gthr-posix.h/' \
|
||||||
ln -s ../../../libgcc/gthr-posix.h $LIN_TGT/libgcc/gthr-default.h
|
-i libgcc/Makefile.in libstdc++-v3/include/Makefile.in
|
||||||
```
|
```
|
||||||
|
|
||||||
Настройка:
|
Настройка:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
../configure \
|
../configure \
|
||||||
--build=$(../config.guess) \
|
--build=$(../config.guess) \
|
||||||
--host=$LIN_TGT \
|
--host=$LIN_TGT \
|
||||||
--prefix=/usr \
|
--target=$LIN_TGT \
|
||||||
CC_FOR_TARGET=$LIN_TGT-gcc \
|
LDFLAGS_FOR_TARGET=-L$PWD/$LIN_TGT/libgcc \
|
||||||
--with-build-sysroot=$LIN \
|
--prefix=/usr \
|
||||||
--enable-initfini-array \
|
--with-build-sysroot=$LFS \
|
||||||
--disable-nls \
|
--enable-initfini-array \
|
||||||
--disable-decimal-float \
|
--disable-nls \
|
||||||
--disable-libatomic \
|
--disable-multilib \
|
||||||
--disable-libgomp \
|
--disable-decimal-float \
|
||||||
--disable-libquadmath \
|
--disable-libatomic \
|
||||||
--disable-libssp \
|
--disable-libgomp \
|
||||||
--disable-libvtv \
|
--disable-libquadmath \
|
||||||
--disable-libstdcxx \
|
--disable-libssp \
|
||||||
--enable-languages=c,c++ \
|
--disable-libvtv \
|
||||||
|
--enable-languages=c,c++ \
|
||||||
--disable-multilib
|
--disable-multilib
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -69,7 +77,7 @@ ln -s ../../../libgcc/gthr-posix.h $LIN_TGT/libgcc/gthr-default.h
|
|||||||
|
|
||||||
`--enable-initfini-array` - параметр заставляет использовать некоторые внутренние структуры данных, которые необходимы, но не могут быть обнаружены при построении кросс-компилятора.
|
`--enable-initfini-array` - параметр заставляет использовать некоторые внутренние структуры данных, которые необходимы, но не могут быть обнаружены при построении кросс-компилятора.
|
||||||
|
|
||||||
`--disable-decimal-float, --disable-threads, --disable-libatomic, --disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-libvtv, --disable-libstdcxx` - параметр отключают поддержку десятичных расширений с плавающей запятой, потоковой передачи, libatomic, libgomp, libquadmath, libssp, libvtv и стандартной библиотеки C++ соответственно. Эти функции не будут скомпилированы при сборке кросс-компилятора и не являются необходимыми для кросс-компиляции временной libc.
|
`--disable-decimal-float, --disable-threads, --disable-libatomic, --disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-libvtv` - параметры отключают поддержку десятичных расширений с плавающей запятой, потоковой передачи, libatomic, libgomp, libquadmath, libssp и libvtv не требующиеся на данном этапе.
|
||||||
|
|
||||||
`--enable-languages=c,c++` - опция включает поддержку компиляторов C и C++. Это единственные языки, которые нужны сейчас.
|
`--enable-languages=c,c++` - опция включает поддержку компиляторов C и C++. Это единственные языки, которые нужны сейчас.
|
||||||
|
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
# LibstdC++ проход 2
|
|
||||||
|
|
||||||
Пакет содержит библиотеку времени исполнения, необходимую программам, написанным на языке C++ и собранным при помощи компилятора GNU.
|
|
||||||
|
|
||||||
{{ include('../packages/gcc/README.md') }}
|
|
||||||
|
|
||||||
|
|
||||||
## Настройка
|
|
||||||
|
|
||||||
???+ warning "Предупреждение"
|
|
||||||
**Данный пакет входит в архив с исходниками GCC**.
|
|
||||||
|
|
||||||
Создайте необходимую символическую ссылку:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ln -s gthr-posix.h libgcc/gthr-default.h
|
|
||||||
```
|
|
||||||
|
|
||||||
Создайте отдельную директорию для сборки:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir -v build
|
|
||||||
cd build
|
|
||||||
```
|
|
||||||
|
|
||||||
Запустите скрипт `configure`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
../libstdc++-v3/configure \
|
|
||||||
CXXFLAGS="-O2 -s -D_GNU_SOURCE" \
|
|
||||||
--prefix=/usr \
|
|
||||||
--disable-nls \
|
|
||||||
--host=$(uname -m)-lin-linux-gnu \
|
|
||||||
--disable-libstdcxx-pch --disable-multilib
|
|
||||||
```
|
|
||||||
|
|
||||||
### Для multilib
|
|
||||||
|
|
||||||
Замените `--disable-multilib` на `--enable-multilib`.
|
|
||||||
|
|
||||||
### Значения параметров
|
|
||||||
|
|
||||||
`--disable-libstdcxx-pch` - отключает установку предварительно скомпилированных заголовков, ненужных на данном этапе
|
|
||||||
|
|
||||||
`--host=$(uname -m)-lin-linux-gnu` - Libstdc++ должна быть собрана с такими же параметрами, что и GCC
|
|
||||||
|
|
||||||
## Сборка
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Установка
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make install
|
|
||||||
```
|
|
@ -11,6 +11,16 @@
|
|||||||
|
|
||||||
## Обновление пакетов
|
## Обновление пакетов
|
||||||
|
|
||||||
|
- linux 5.16.12
|
||||||
|
- zstd 1.5.2
|
||||||
|
- expat 2.4.6
|
||||||
|
- gdbm 1.23
|
||||||
|
- iana-etc 20220222
|
||||||
|
- man-db 2.10.1
|
||||||
|
- binutils 2.38
|
||||||
|
- meson 0.61.2
|
||||||
|
- MarkupSafe 2.1.0
|
||||||
|
- dbus 1.14.0
|
||||||
- glibc 2.35
|
- glibc 2.35
|
||||||
- findutils 4.9.0
|
- findutils 4.9.0
|
||||||
- expat 2.4.4
|
- expat 2.4.4
|
||||||
@ -33,6 +43,8 @@
|
|||||||
|
|
||||||
## Изменения
|
## Изменения
|
||||||
|
|
||||||
|
- Инструкции установки libstdc++ при втором проходе включены в инструкции для GCC
|
||||||
|
- Добавлены патчи для Binutils и Zstd
|
||||||
- Удалена устаревшая команда для glibc
|
- Удалена устаревшая команда для glibc
|
||||||
- Добавлен патч для coreutils
|
- Добавлен патч для coreutils
|
||||||
- Пакет `file` удален из временной системы, так как не требуется на данном этапе.
|
- Пакет `file` удален из временной системы, так как не требуется на данном этапе.
|
||||||
|
@ -1 +0,0 @@
|
|||||||
binutils-2.37-upstream_fix-1.patch
|
|
@ -1 +0,0 @@
|
|||||||
binutils-2.37-upstream_fix-1-1
|
|
@ -1 +0,0 @@
|
|||||||
binutils-2.37-upstream_fix-1
|
|
@ -1 +0,0 @@
|
|||||||
https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch
|
|
@ -1 +0,0 @@
|
|||||||
1
|
|
@ -1,17 +0,0 @@
|
|||||||
# binutils-2.37-upstream_fix-1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Версия: **1**
|
|
||||||
|
|
||||||
Размер: **0.01Mb**
|
|
||||||
|
|
||||||
Приоритет: **Необходимый**
|
|
||||||
|
|
||||||
Оригинальное расположение: [https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.37-upstream_fix-1.patch](https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.37-upstream_fix-1.patch)
|
|
||||||
|
|
||||||
Ссылка для загрузки: [https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch](https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch)
|
|
||||||
|
|
||||||
MD5: **3518fa864fe8d7ef65be4960f380b03b**
|
|
||||||
|
|
||||||
Домашняя страница: []()
|
|
@ -1 +1 @@
|
|||||||
patch -Np1 -i ../binutils-2.37-upstream_fix-1.patch
|
patch -Np1 -i ../binutils-2.38-lto_fix-1.patch
|
||||||
|
@ -1 +1,2 @@
|
|||||||
sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
|
sed -e '/R_386_TLS_LE /i \ || (TYPE) == R_386_TLS_IE \\' \
|
||||||
|
-i ./bfd/elfxx-x86.h
|
||||||
|
@ -130,11 +130,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "bc",
|
"name": "bc",
|
||||||
"fileName": "bc-5.2.1.tar.xz",
|
"fileName": "bc-5.2.2.tar.xz",
|
||||||
"description": "BC (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью. Часто используется как калькулятор в командной строке UNIX-подобных операционных систем.",
|
"description": "BC (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью. Часто используется как калькулятор в командной строке UNIX-подобных операционных систем.",
|
||||||
"url": "https://github.com/gavinhoward/bc/releases/download/5.2.1/bc-5.2.1.tar.xz",
|
"url": "https://github.com/gavinhoward/bc/releases/download/5.2.2/bc-5.2.2.tar.xz",
|
||||||
"homeUrl": "https://git.yzena.com/gavin/bc",
|
"homeUrl": "https://git.yzena.com/gavin/bc",
|
||||||
"version": "5.2.1",
|
"version": "5.2.2",
|
||||||
"releasesUrl": "https://git.yzena.com/gavin/bc/releases",
|
"releasesUrl": "https://git.yzena.com/gavin/bc/releases",
|
||||||
"priority": "important",
|
"priority": "important",
|
||||||
"md5": "19dbb20c3aba33acacec29edd0b2c46e",
|
"md5": "19dbb20c3aba33acacec29edd0b2c46e",
|
||||||
@ -149,15 +149,15 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/bc-5.2.1.tar.xz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/bc-5.2.2.tar.xz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "binutils",
|
"name": "binutils",
|
||||||
"fileName": "binutils-2.37.tar.xz",
|
"fileName": "binutils-2.38.tar.xz",
|
||||||
"description": "Пакет содержит компоновщик, ассемблер и другие утилиты и инструменты для работы с объектными файлами. Программы отсюда необходимы для сборки большинства пакетов.",
|
"description": "Пакет содержит компоновщик, ассемблер и другие утилиты и инструменты для работы с объектными файлами. Программы отсюда необходимы для сборки большинства пакетов.",
|
||||||
"url": "https://ftp.gnu.org/gnu/binutils/binutils-2.37.tar.xz",
|
"url": "https://ftp.gnu.org/gnu/binutils/binutils-2.38.tar.xz",
|
||||||
"homeUrl": "https://www.gnu.org/software/binutils",
|
"homeUrl": "https://www.gnu.org/software/binutils",
|
||||||
"version": "2.37",
|
"version": "2.38",
|
||||||
"releasesUrl": "https://ftp.gnu.org/gnu/binutils",
|
"releasesUrl": "https://ftp.gnu.org/gnu/binutils",
|
||||||
"priority": "required",
|
"priority": "required",
|
||||||
"md5": "e78d9ff2976b745a348f4c1f27c77cb1",
|
"md5": "e78d9ff2976b745a348f4c1f27c77cb1",
|
||||||
@ -180,7 +180,7 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.37.tar.xz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.38.tar.xz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "bison",
|
"name": "bison",
|
||||||
@ -292,11 +292,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dbus",
|
"name": "dbus",
|
||||||
"fileName": "dbus-1.13.18.tar.xz",
|
"fileName": "dbus-1.14.0.tar.xz",
|
||||||
"description": "D-Bus - система межпроцессного взаимодействия, которая позволяет приложениям в операционной системе сообщаться друг с другом. D-Bus предоставляет собой системную службу (для обработки таких событий, как 'Добавлено новое аппаратное устройство' или 'очередь принтеров изменена') и системную службу сеанса для каждого пользователя (для общих потребностей IPC среди пользовательских приложений.) Кроме того, D-Bus построен поверх общей платформы передачи сообщений от одного к другому, которая может использоваться любыми двумя приложениями для связки (в обход шины сообщений).",
|
"description": "D-Bus - система межпроцессного взаимодействия, которая позволяет приложениям в операционной системе сообщаться друг с другом. D-Bus предоставляет собой системную службу (для обработки таких событий, как 'Добавлено новое аппаратное устройство' или 'очередь принтеров изменена') и системную службу сеанса для каждого пользователя (для общих потребностей IPC среди пользовательских приложений.) Кроме того, D-Bus построен поверх общей платформы передачи сообщений от одного к другому, которая может использоваться любыми двумя приложениями для связки (в обход шины сообщений).",
|
||||||
"url": "https://dbus.freedesktop.org/releases/dbus/dbus-1.13.18.tar.xz",
|
"url": "https://dbus.freedesktop.org/releases/dbus/dbus-1.14.0.tar.xz",
|
||||||
"homeUrl": "https://www.freedesktop.org/wiki/Software/dbus/",
|
"homeUrl": "https://www.freedesktop.org/wiki/Software/dbus/",
|
||||||
"version": "1.13.18",
|
"version": "1.14.0",
|
||||||
"releasesUrl": "https://dbus.freedesktop.org/releases/dbus/",
|
"releasesUrl": "https://dbus.freedesktop.org/releases/dbus/",
|
||||||
"priority": "important",
|
"priority": "important",
|
||||||
"md5": "b25e4fcfbfd4889bef76f7241dfa1a04",
|
"md5": "b25e4fcfbfd4889bef76f7241dfa1a04",
|
||||||
@ -317,7 +317,7 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/dbus-1.13.18.tar.xz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/dbus-1.14.0.tar.xz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dejagnu",
|
"name": "dejagnu",
|
||||||
@ -475,11 +475,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "expat",
|
"name": "expat",
|
||||||
"fileName": "expat-2.4.4.tar.xz",
|
"fileName": "expat-2.4.6.tar.xz",
|
||||||
"description": "Expat - потокоориентированная библиотека парсинга XML, написанная на C. Как один из наиболее доступных XML парсеров, широко используется в открытом программном обеспечении.",
|
"description": "Expat - потокоориентированная библиотека парсинга XML, написанная на C. Как один из наиболее доступных XML парсеров, широко используется в открытом программном обеспечении.",
|
||||||
"url": "https://prdownloads.sourceforge.net/expat/expat-2.4.4.tar.xz",
|
"url": "https://prdownloads.sourceforge.net/expat/expat-2.4.6.tar.xz",
|
||||||
"homeUrl": "https://sourceforge.net/projects/expat",
|
"homeUrl": "https://sourceforge.net/projects/expat",
|
||||||
"version": "2.4.4",
|
"version": "2.4.6",
|
||||||
"releasesUrl": "https://sourceforge.net/projects/expat/files/expat/",
|
"releasesUrl": "https://sourceforge.net/projects/expat/files/expat/",
|
||||||
"priority": "important",
|
"priority": "important",
|
||||||
"md5": "a712d23b7afb32e7527cf0b3fd8f12ac",
|
"md5": "a712d23b7afb32e7527cf0b3fd8f12ac",
|
||||||
@ -499,7 +499,7 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/expat-2.4.4.tar.xz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/expat-2.4.6.tar.xz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "expect",
|
"name": "expect",
|
||||||
@ -648,11 +648,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "gdbm",
|
"name": "gdbm",
|
||||||
"fileName": "gdbm-1.22.tar.gz",
|
"fileName": "gdbm-1.23.tar.gz",
|
||||||
"description": "Библиотека функций базы данных, которая использует расширяемое хэширование и работает аналогично стандартным функциям dbm UNIX. Эти процедуры предоставляются программисту, которому необходимо создать и обработать хешированную базу данных. Основное предназначение gdbm — хранение пары ключ/данные в файле данных. Каждый ключ должен быть уникальным и сопряженным только с одним элементом данных. Ключи не могут быть напрямую доступны в отсортированном порядке.",
|
"description": "Библиотека функций базы данных, которая использует расширяемое хэширование и работает аналогично стандартным функциям dbm UNIX. Эти процедуры предоставляются программисту, которому необходимо создать и обработать хешированную базу данных. Основное предназначение gdbm — хранение пары ключ/данные в файле данных. Каждый ключ должен быть уникальным и сопряженным только с одним элементом данных. Ключи не могут быть напрямую доступны в отсортированном порядке.",
|
||||||
"url": "https://ftp.gnu.org/gnu/gdbm/gdbm-1.22.tar.gz",
|
"url": "https://ftp.gnu.org/gnu/gdbm/gdbm-1.23.tar.gz",
|
||||||
"homeUrl": "https://gnu.org/software/gdbm",
|
"homeUrl": "https://gnu.org/software/gdbm",
|
||||||
"version": "1.22",
|
"version": "1.23",
|
||||||
"releasesUrl": "https://ftp.gnu.org/gnu/gdbm/",
|
"releasesUrl": "https://ftp.gnu.org/gnu/gdbm/",
|
||||||
"priority": "important",
|
"priority": "important",
|
||||||
"md5": "0bbd38f12656e4728e2f7c4708aec014",
|
"md5": "0bbd38f12656e4728e2f7c4708aec014",
|
||||||
@ -667,7 +667,7 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/gdbm-1.22.tar.gz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/gdbm-1.23.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "gettext",
|
"name": "gettext",
|
||||||
@ -873,11 +873,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "iana-etc",
|
"name": "iana-etc",
|
||||||
"fileName": "iana-etc-20220110.tar.gz",
|
"fileName": "iana-etc-20220222.tar.gz",
|
||||||
"description": "Пакет Iana-Etc содержит данные для сетевых служб и протоколов.",
|
"description": "Пакет Iana-Etc содержит данные для сетевых служб и протоколов.",
|
||||||
"url": "https://github.com/Mic92/iana-etc/releases/download/20220110/iana-etc-20220110.tar.gz",
|
"url": "https://github.com/Mic92/iana-etc/releases/download/20220222/iana-etc-20220222.tar.gz",
|
||||||
"homeUrl": "https://www.iana.org/protocols",
|
"homeUrl": "https://www.iana.org/protocols",
|
||||||
"version": "20220110",
|
"version": "20220222",
|
||||||
"releasesUrl": "https://github.com/Mic92/iana-etc/releases/",
|
"releasesUrl": "https://github.com/Mic92/iana-etc/releases/",
|
||||||
"priority": "required",
|
"priority": "required",
|
||||||
"md5": "cd22a9f75b03a2be5638e67d4e72bf19",
|
"md5": "cd22a9f75b03a2be5638e67d4e72bf19",
|
||||||
@ -889,7 +889,7 @@
|
|||||||
"install"
|
"install"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/iana-etc-20220110.tar.gz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/iana-etc-20220222.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "inetutils",
|
"name": "inetutils",
|
||||||
@ -1194,11 +1194,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "linux",
|
"name": "linux",
|
||||||
"fileName": "linux-5.16.2.tar.xz",
|
"fileName": "linux-5.16.12.tar.xz",
|
||||||
"description": "Ядро операционной системы.",
|
"description": "Ядро операционной системы.",
|
||||||
"url": "https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.16.2.tar.xz",
|
"url": "https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.16.12.tar.xz",
|
||||||
"homeUrl": "https://www.kernel.org",
|
"homeUrl": "https://www.kernel.org",
|
||||||
"version": "5.16.2",
|
"version": "5.16.12",
|
||||||
"releasesUrl": "https://www.kernel.org",
|
"releasesUrl": "https://www.kernel.org",
|
||||||
"priority": "required",
|
"priority": "required",
|
||||||
"md5": "fd00badc3b53d42da3d84a7cf6f53f17",
|
"md5": "fd00badc3b53d42da3d84a7cf6f53f17",
|
||||||
@ -1206,7 +1206,7 @@
|
|||||||
"installedSize": 0,
|
"installedSize": 0,
|
||||||
"sbu": 0,
|
"sbu": 0,
|
||||||
"sbu2": 4.4,
|
"sbu2": 4.4,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/linux-5.16.2.tar.xz",
|
"downloadUrl": "https://lx4u.ru/downloads/packages/linux-5.16.12.tar.xz",
|
||||||
"scripts": [],
|
"scripts": [],
|
||||||
"multilibSupport": false
|
"multilibSupport": false
|
||||||
},
|
},
|
||||||
@ -1259,11 +1259,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "man-db",
|
"name": "man-db",
|
||||||
"fileName": "man-db-2.9.4.tar.xz",
|
"fileName": "man-db-2.10.1.tar.xz",
|
||||||
"description": "Пакет Man-DB содержит программы для поиска и просмотра справочных страниц.",
|
"description": "Пакет Man-DB содержит программы для поиска и просмотра справочных страниц.",
|
||||||
"url": "https://download.savannah.gnu.org/releases/man-db/man-db-2.9.4.tar.xz",
|
"url": "https://download.savannah.gnu.org/releases/man-db/man-db-2.10.1.tar.xz",
|
||||||
"homeUrl": "https://savannah.nongnu.org/projects/man-db",
|
"homeUrl": "https://savannah.nongnu.org/projects/man-db",
|
||||||
"version": "2.9.4",
|
"version": "2.10.1",
|
||||||
"releasesUrl": "https://download.savannah.gnu.org/releases/man-db/",
|
"releasesUrl": "https://download.savannah.gnu.org/releases/man-db/",
|
||||||
"priority": "optional",
|
"priority": "optional",
|
||||||
"md5": "6e233a555f7b9ae91ce7cd0faa322bce",
|
"md5": "6e233a555f7b9ae91ce7cd0faa322bce",
|
||||||
@ -1278,7 +1278,7 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/man-db-2.9.4.tar.xz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/man-db-2.10.1.tar.xz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "man-pages",
|
"name": "man-pages",
|
||||||
@ -1302,11 +1302,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "meson",
|
"name": "meson",
|
||||||
"fileName": "meson-0.61.1.tar.gz",
|
"fileName": "meson-0.61.2.tar.gz",
|
||||||
"description": "Meson - высокопроизводительная и удобная система сборки с открытым исходным кодом. Пакет содержит инструменты для автоматизации сборки программ. Основная цель Meson - минимизировать затраты времени на конфигурирование системы сборки.",
|
"description": "Meson - высокопроизводительная и удобная система сборки с открытым исходным кодом. Пакет содержит инструменты для автоматизации сборки программ. Основная цель Meson - минимизировать затраты времени на конфигурирование системы сборки.",
|
||||||
"url": "https://github.com/mesonbuild/meson/releases/download/0.61.1/meson-0.61.1.tar.gz",
|
"url": "https://github.com/mesonbuild/meson/releases/download/0.61.2/meson-0.61.2.tar.gz",
|
||||||
"homeUrl": "https://mesonbuild.com",
|
"homeUrl": "https://mesonbuild.com",
|
||||||
"version": "0.61.1",
|
"version": "0.61.2",
|
||||||
"releasesUrl": "https://github.com/mesonbuild/meson/releases/",
|
"releasesUrl": "https://github.com/mesonbuild/meson/releases/",
|
||||||
"priority": "important",
|
"priority": "important",
|
||||||
"md5": "8ed66d5537275df3defffb66d1fb897f",
|
"md5": "8ed66d5537275df3defffb66d1fb897f",
|
||||||
@ -1320,7 +1320,7 @@
|
|||||||
"prepare"
|
"prepare"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/meson-0.61.1.tar.gz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/meson-0.61.2.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mpc",
|
"name": "mpc",
|
||||||
@ -1699,11 +1699,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "markupsafe",
|
"name": "markupsafe",
|
||||||
"fileName": "MarkupSafe-2.0.1.tar.gz",
|
"fileName": "MarkupSafe-2.1.0.tar.gz",
|
||||||
"description": "MarkupSafe - это модуль Python, который экранирует символы, поэтому текст безопасно использовать в HTML и XML. Символы, имеющие особое значение, заменяются так, чтобы они отображались как фактические символы. Это смягчает атаки инъекций, что означает, что вводимые пользователем данные, которым не доверяют, могут безопасно отображаться на странице.",
|
"description": "MarkupSafe - это модуль Python, который экранирует символы, поэтому текст безопасно использовать в HTML и XML. Символы, имеющие особое значение, заменяются так, чтобы они отображались как фактические символы. Это смягчает атаки инъекций, что означает, что вводимые пользователем данные, которым не доверяют, могут безопасно отображаться на странице.",
|
||||||
"url": "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-2.0.1.tar.gz",
|
"url": "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-2.1.0.tar.gz",
|
||||||
"homeUrl": "https://markupsafe.palletsprojects.com/en/2.0.x/",
|
"homeUrl": "https://markupsafe.palletsprojects.com/en/2.1.x/",
|
||||||
"version": "2.0.1",
|
"version": "2.1.0",
|
||||||
"releasesUrl": "https://pypi.org/project/MarkupSafe/#files",
|
"releasesUrl": "https://pypi.org/project/MarkupSafe/#files",
|
||||||
"priority": "required",
|
"priority": "required",
|
||||||
"md5": "892e0fefa3c488387e5cc0cad2daa523",
|
"md5": "892e0fefa3c488387e5cc0cad2daa523",
|
||||||
@ -1716,7 +1716,7 @@
|
|||||||
"install"
|
"install"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/MarkupSafe-2.0.1.tar.gz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/MarkupSafe-2.1.0.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jinja2",
|
"name": "jinja2",
|
||||||
@ -1902,11 +1902,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "util-linux",
|
"name": "util-linux",
|
||||||
"fileName": "util-linux-2.37.2.tar.xz",
|
"fileName": "util-linux-2.37.4.tar.xz",
|
||||||
"description": "Содержит стандартный набор служебных утилит командной строки, такие как: утилиты для работы с файловой системой, консолью, разделами, и сообщениями.",
|
"description": "Содержит стандартный набор служебных утилит командной строки, такие как: утилиты для работы с файловой системой, консолью, разделами, и сообщениями.",
|
||||||
"url": "https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz",
|
"url": "https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.4.tar.xz",
|
||||||
"homeUrl": "https://en.wikipedia.org/wiki/Util-linux",
|
"homeUrl": "https://en.wikipedia.org/wiki/Util-linux",
|
||||||
"version": "2.37.2",
|
"version": "2.37.4",
|
||||||
"releasesUrl": "https://www.kernel.org/pub/linux/utils/util-linux/",
|
"releasesUrl": "https://www.kernel.org/pub/linux/utils/util-linux/",
|
||||||
"priority": "required",
|
"priority": "required",
|
||||||
"md5": "d659bf7cd417d93dc609872f6334b019",
|
"md5": "d659bf7cd417d93dc609872f6334b019",
|
||||||
@ -1933,15 +1933,15 @@
|
|||||||
"test-systemd"
|
"test-systemd"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/util-linux-2.37.2.tar.xz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/util-linux-2.37.4.tar.xz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vim",
|
"name": "vim",
|
||||||
"fileName": "vim-8.2.4115.tar.gz",
|
"fileName": "vim-8.2.4489.tar.gz",
|
||||||
"description": "Один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам.",
|
"description": "Один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам.",
|
||||||
"url": "https://github.com/vim/vim/archive/refs/tags/v8.2.4115.tar.gz",
|
"url": "https://github.com/vim/vim/archive/refs/tags/v8.2.4489.tar.gz",
|
||||||
"homeUrl": "https://www.vim.org/",
|
"homeUrl": "https://www.vim.org/",
|
||||||
"version": "8.2.4115",
|
"version": "8.2.4489",
|
||||||
"releasesUrl": "https://github.com/vim/vim/releases",
|
"releasesUrl": "https://github.com/vim/vim/releases",
|
||||||
"priority": "optional",
|
"priority": "optional",
|
||||||
"md5": "c9a0f3b6b08f9ed89b0ec6c45180442c",
|
"md5": "c9a0f3b6b08f9ed89b0ec6c45180442c",
|
||||||
@ -1958,7 +1958,7 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/vim-8.2.4115.tar.gz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/vim-8.2.4489.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nano",
|
"name": "nano",
|
||||||
@ -2069,11 +2069,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zstd",
|
"name": "zstd",
|
||||||
"fileName": "zstd-1.5.1.tar.gz",
|
"fileName": "zstd-1.5.2.tar.gz",
|
||||||
"description": "Zstandard - это алгоритм сжатия в реальном времени, обеспечивающий высокую степень сжатия. Он предлагает очень широкий спектр компромиссов между сжатием и скоростью, а также очень быстрым декодером.",
|
"description": "Zstandard - это алгоритм сжатия в реальном времени, обеспечивающий высокую степень сжатия. Он предлагает очень широкий спектр компромиссов между сжатием и скоростью, а также очень быстрым декодером.",
|
||||||
"url": "https://github.com/facebook/zstd/releases/download/v1.5.1/zstd-1.5.1.tar.gz",
|
"url": "https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz",
|
||||||
"homeUrl": "https://facebook.github.io/zstd/",
|
"homeUrl": "https://facebook.github.io/zstd/",
|
||||||
"version": "1.5.1",
|
"version": "1.5.2",
|
||||||
"releasesUrl": "https://github.com/facebook/zstd/releases/",
|
"releasesUrl": "https://github.com/facebook/zstd/releases/",
|
||||||
"priority": "important",
|
"priority": "important",
|
||||||
"md5": "b97d53547220355907dedec7de9a4f29",
|
"md5": "b97d53547220355907dedec7de9a4f29",
|
||||||
@ -2092,7 +2092,7 @@
|
|||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/zstd-1.5.1.tar.gz"
|
"downloadUrl": "https://lx4u.ru/downloads/packages/zstd-1.5.2.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "popt",
|
"name": "popt",
|
||||||
@ -2433,10 +2433,10 @@
|
|||||||
"scripts": []
|
"scripts": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "binutils-2.37-upstream_fix-1",
|
"name": "binutils-2.38-lto_fix-1",
|
||||||
"fileName": "binutils-2.37-upstream_fix-1.patch",
|
"fileName": "binutils-2.38-lto_fix-1.patch",
|
||||||
"description": "",
|
"description": "",
|
||||||
"url": "https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.37-upstream_fix-1.patch",
|
"url": "https://www.linuxfromscratch.org/patches/lfs/development/binutils-2.38-lto_fix-1.patch",
|
||||||
"homeUrl": "",
|
"homeUrl": "",
|
||||||
"version": "1",
|
"version": "1",
|
||||||
"releasesUrl": "",
|
"releasesUrl": "",
|
||||||
@ -2446,7 +2446,7 @@
|
|||||||
"installedSize": 0,
|
"installedSize": 0,
|
||||||
"sbu": 0,
|
"sbu": 0,
|
||||||
"sbu2": 0,
|
"sbu2": 0,
|
||||||
"downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.37-upstream_fix-1.patch",
|
"downloadUrl": "https://lx4u.ru/downloads/packages/binutils-2.38-lto_fix-1.patch",
|
||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"scripts": []
|
"scripts": []
|
||||||
},
|
},
|
||||||
@ -2468,4 +2468,4 @@
|
|||||||
"multilibSupport": false,
|
"multilibSupport": false,
|
||||||
"scripts": []
|
"scripts": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
3
docs/packages/tcl/configure
vendored
3
docs/packages/tcl/configure
vendored
@ -1,5 +1,4 @@
|
|||||||
SRCDIR=$(pwd)
|
SRCDIR=$(pwd)
|
||||||
cd unix
|
cd unix
|
||||||
./configure --prefix=/usr \
|
./configure --prefix=/usr \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man
|
||||||
$([ "$(uname -m)" = x86_64 ] && echo --enable-64bit)
|
|
||||||
|
@ -1,239 +0,0 @@
|
|||||||
Submitted By: Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
|
||||||
Date: 2021-08-13
|
|
||||||
Initial Package Version: 2.37
|
|
||||||
Upstream Status: Committed
|
|
||||||
Origin: Upstream
|
|
||||||
Description: bfd: Close the file descriptor if there is no archive fd
|
|
||||||
|
|
||||||
From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "H.J. Lu" <hjl.tools@gmail.com>
|
|
||||||
Date: Mon, 26 Jul 2021 05:59:55 -0700
|
|
||||||
Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd
|
|
||||||
|
|
||||||
Close the file descriptor if there is no archive plugin file descriptor
|
|
||||||
to avoid running out of file descriptors on thin archives with many
|
|
||||||
archive members.
|
|
||||||
|
|
||||||
bfd/
|
|
||||||
|
|
||||||
PR ld/28138
|
|
||||||
* plugin.c (bfd_plugin_close_file_descriptor): Close the file
|
|
||||||
descriptor there is no archive plugin file descriptor.
|
|
||||||
|
|
||||||
ld/
|
|
||||||
|
|
||||||
PR ld/28138
|
|
||||||
* testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for
|
|
||||||
native build.
|
|
||||||
|
|
||||||
PR ld/28138
|
|
||||||
* testsuite/ld-plugin/lto.exp: Run ld/28138 tests.
|
|
||||||
* testsuite/ld-plugin/pr28138.c: New file.
|
|
||||||
* testsuite/ld-plugin/pr28138-1.c: Likewise.
|
|
||||||
* testsuite/ld-plugin/pr28138-2.c: Likewise.
|
|
||||||
* testsuite/ld-plugin/pr28138-3.c: Likewise.
|
|
||||||
* testsuite/ld-plugin/pr28138-4.c: Likewise.
|
|
||||||
* testsuite/ld-plugin/pr28138-5.c: Likewise.
|
|
||||||
* testsuite/ld-plugin/pr28138-6.c: Likewise.
|
|
||||||
* testsuite/ld-plugin/pr28138-7.c: Likewise.
|
|
||||||
|
|
||||||
(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742)
|
|
||||||
(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2)
|
|
||||||
---
|
|
||||||
bfd/plugin.c | 8 +++++++
|
|
||||||
ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++
|
|
||||||
ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++
|
|
||||||
10 files changed, 104 insertions(+)
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c
|
|
||||||
create mode 100644 ld/testsuite/ld-plugin/pr28138.c
|
|
||||||
|
|
||||||
diff --git a/bfd/plugin.c b/bfd/plugin.c
|
|
||||||
index 6cfa2b66470..3bab8febe88 100644
|
|
||||||
--- a/bfd/plugin.c
|
|
||||||
+++ b/bfd/plugin.c
|
|
||||||
@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd)
|
|
||||||
&& !bfd_is_thin_archive (abfd->my_archive))
|
|
||||||
abfd = abfd->my_archive;
|
|
||||||
|
|
||||||
+ /* Close the file descriptor if there is no archive plugin file
|
|
||||||
+ descriptor. */
|
|
||||||
+ if (abfd->archive_plugin_fd == -1)
|
|
||||||
+ {
|
|
||||||
+ close (fd);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
abfd->archive_plugin_fd_open_count--;
|
|
||||||
/* Dup the archive plugin file descriptor for later use, which
|
|
||||||
will be closed by _bfd_archive_close_and_cleanup. */
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
|
|
||||||
index def69e43ab3..999d911ce6a 100644
|
|
||||||
--- a/ld/testsuite/ld-plugin/lto.exp
|
|
||||||
+++ b/ld/testsuite/ld-plugin/lto.exp
|
|
||||||
@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+run_cc_link_tests [list \
|
|
||||||
+ [list \
|
|
||||||
+ "Build pr28138.a" \
|
|
||||||
+ "-T" "" \
|
|
||||||
+ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \
|
|
||||||
+ pr28138-6.c pr28138-7.c} {} "pr28138.a" \
|
|
||||||
+ ] \
|
|
||||||
+ [list \
|
|
||||||
+ "Build pr28138.o" \
|
|
||||||
+ "" "" \
|
|
||||||
+ {pr28138.c} {} \
|
|
||||||
+ ] \
|
|
||||||
+]
|
|
||||||
+
|
|
||||||
+set exec_output [run_host_cmd "sh" \
|
|
||||||
+ "-c \"ulimit -n 20; \
|
|
||||||
+ $CC -Btmpdir/ld -o tmpdir/pr28138 \
|
|
||||||
+ tmpdir/pr28138.o tmpdir/pr28138.a\""]
|
|
||||||
+set exec_output [prune_warnings $exec_output]
|
|
||||||
+if [string match "" $exec_output] then {
|
|
||||||
+ if { [isnative] } {
|
|
||||||
+ set exec_output [run_host_cmd "tmpdir/pr28138" ""]
|
|
||||||
+ if [string match "PASS" $exec_output] then {
|
|
||||||
+ pass "PR ld/28138"
|
|
||||||
+ } else {
|
|
||||||
+ fail "PR ld/28138"
|
|
||||||
+ }
|
|
||||||
+ } else {
|
|
||||||
+ pass "PR ld/28138"
|
|
||||||
+ }
|
|
||||||
+} else {
|
|
||||||
+ fail "PR ld/28138"
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
set testname "Build liblto-11.a"
|
|
||||||
remote_file host delete "tmpdir/liblto-11.a"
|
|
||||||
set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..51d119e1642
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138-1.c
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+extern int a0(void);
|
|
||||||
+int
|
|
||||||
+a1(void)
|
|
||||||
+{
|
|
||||||
+ return 1 + a0();
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..1120cd797e9
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138-2.c
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+extern int a1(void);
|
|
||||||
+int
|
|
||||||
+a2(void)
|
|
||||||
+{
|
|
||||||
+ return 1 + a1();
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..ec464947ee6
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138-3.c
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+extern int a2(void);
|
|
||||||
+int
|
|
||||||
+a3(void)
|
|
||||||
+{
|
|
||||||
+ return 1 + a2();
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..475701b2c5c
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138-4.c
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+extern int a3(void);
|
|
||||||
+int
|
|
||||||
+a4(void)
|
|
||||||
+{
|
|
||||||
+ return 1 + a3();
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..e24f86c363e
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138-5.c
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+extern int a4(void);
|
|
||||||
+int
|
|
||||||
+a5(void)
|
|
||||||
+{
|
|
||||||
+ return 1 + a4();
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..b5b938bdb21
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138-6.c
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+extern int a5(void);
|
|
||||||
+int
|
|
||||||
+a6(void)
|
|
||||||
+{
|
|
||||||
+ return 1 + a5();
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..4ef75bf0f0c
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138-7.c
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+extern int a6(void);
|
|
||||||
+int
|
|
||||||
+a7(void)
|
|
||||||
+{
|
|
||||||
+ return 1 + a6();
|
|
||||||
+}
|
|
||||||
diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..68252c9f382
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ld/testsuite/ld-plugin/pr28138.c
|
|
||||||
@@ -0,0 +1,20 @@
|
|
||||||
+#include <stdio.h>
|
|
||||||
+
|
|
||||||
+extern int a7(void);
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+a0(void)
|
|
||||||
+{
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main()
|
|
||||||
+{
|
|
||||||
+ if (a7() == 7)
|
|
||||||
+ {
|
|
||||||
+ printf ("PASS\n");
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ return 1;
|
|
||||||
+}
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
122
docs/patches/binutils-2.38-lto_fix-1.patch
Normal file
122
docs/patches/binutils-2.38-lto_fix-1.patch
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
Submitted By: Xi Ruoyao <xry111@mengyan1223.wang>
|
||||||
|
Date: 2021-02-14
|
||||||
|
Initial Package Version: 2.38
|
||||||
|
Upstream Status: Committed
|
||||||
|
Origin: Upstream
|
||||||
|
Description: Unbreak building some BLFS packages with LTO
|
||||||
|
enabled by default
|
||||||
|
|
||||||
|
From 20ea3acc727f3be6322dfbd881e506873535231d Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Fri, 11 Feb 2022 15:13:19 -0800
|
||||||
|
Subject: [PATCH] ld: Keep indirect symbol from IR if referenced from shared
|
||||||
|
object
|
||||||
|
|
||||||
|
Don't change indirect symbol defined in IR to undefined if it is
|
||||||
|
referenced from shared object.
|
||||||
|
|
||||||
|
bfd/
|
||||||
|
|
||||||
|
PR ld/28879
|
||||||
|
* elflink.c (_bfd_elf_merge_symbol): Don't change indirect
|
||||||
|
symbol defined in IR to undefined if it is referenced from
|
||||||
|
shared object.
|
||||||
|
|
||||||
|
ld/
|
||||||
|
|
||||||
|
PR ld/28879
|
||||||
|
* testsuite/ld-plugin/lto.exp: Run PR ld/28879 tests.
|
||||||
|
* testsuite/ld-plugin/pr28879a.cc: New file.
|
||||||
|
* testsuite/ld-plugin/pr28879b.cc: Likewise.
|
||||||
|
---
|
||||||
|
bfd/elflink.c | 5 ++---
|
||||||
|
ld/testsuite/ld-plugin/lto.exp | 26 ++++++++++++++++++++++++++
|
||||||
|
ld/testsuite/ld-plugin/pr28879a.cc | 7 +++++++
|
||||||
|
ld/testsuite/ld-plugin/pr28879b.cc | 8 ++++++++
|
||||||
|
4 files changed, 43 insertions(+), 3 deletions(-)
|
||||||
|
create mode 100644 ld/testsuite/ld-plugin/pr28879a.cc
|
||||||
|
create mode 100644 ld/testsuite/ld-plugin/pr28879b.cc
|
||||||
|
|
||||||
|
diff --git a/bfd/elflink.c b/bfd/elflink.c
|
||||||
|
index 6fa18d92007..f8521426cad 100644
|
||||||
|
--- a/bfd/elflink.c
|
||||||
|
+++ b/bfd/elflink.c
|
||||||
|
@@ -1294,9 +1294,8 @@ _bfd_elf_merge_symbol (bfd *abfd,
|
||||||
|
h->root.non_ir_ref_dynamic = true;
|
||||||
|
hi->root.non_ir_ref_dynamic = true;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- if ((oldbfd->flags & BFD_PLUGIN) != 0
|
||||||
|
- && hi->root.type == bfd_link_hash_indirect)
|
||||||
|
+ else if ((oldbfd->flags & BFD_PLUGIN) != 0
|
||||||
|
+ && hi->root.type == bfd_link_hash_indirect)
|
||||||
|
{
|
||||||
|
/* Change indirect symbol from IR to undefined. */
|
||||||
|
hi->root.type = bfd_link_hash_undefined;
|
||||||
|
diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
|
||||||
|
index a70a84562b8..64b880265ee 100644
|
||||||
|
--- a/ld/testsuite/ld-plugin/lto.exp
|
||||||
|
+++ b/ld/testsuite/ld-plugin/lto.exp
|
||||||
|
@@ -471,6 +471,32 @@ set lto_link_elf_tests [list \
|
||||||
|
[list {pr27441c.so} \
|
||||||
|
{-shared -fPIC -Wl,--as-needed tmpdir/pr27441c.o tmpdir/pr27441b.so tmpdir/pr27441a.so} {-fPIC} \
|
||||||
|
{dummy.c} {{readelf {-dW} pr27441c.d}} {pr27441c.so}] \
|
||||||
|
+ [list \
|
||||||
|
+ "Build libpr28879a.so" \
|
||||||
|
+ "-shared" \
|
||||||
|
+ "-O0 -fpic" \
|
||||||
|
+ {pr28879a.cc} \
|
||||||
|
+ {} \
|
||||||
|
+ "libpr28879a.so" \
|
||||||
|
+ "c++" \
|
||||||
|
+ ] \
|
||||||
|
+ [list \
|
||||||
|
+ "Build libpr28879b.so" \
|
||||||
|
+ "-shared -Wl,--no-as-needed tmpdir/libpr28879a.so" \
|
||||||
|
+ "-O2 -fpic" \
|
||||||
|
+ {dummy.c} \
|
||||||
|
+ {} \
|
||||||
|
+ "libpr28879b.so" \
|
||||||
|
+ ] \
|
||||||
|
+ [list \
|
||||||
|
+ "Build pr28879" \
|
||||||
|
+ "-Wl,--no-as-needed tmpdir/libpr28879b.so -Wl,-rpath-link,." \
|
||||||
|
+ "-O0 -flto -D_GLIBCXX_ASSERTIONS" \
|
||||||
|
+ {pr28879b.cc} \
|
||||||
|
+ {} \
|
||||||
|
+ "pr28879" \
|
||||||
|
+ "c++" \
|
||||||
|
+ ] \
|
||||||
|
]
|
||||||
|
|
||||||
|
# PR 14918 checks that libgcc is not spuriously included in a shared link of
|
||||||
|
diff --git a/ld/testsuite/ld-plugin/pr28879a.cc b/ld/testsuite/ld-plugin/pr28879a.cc
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..8307a42e2fb
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/ld/testsuite/ld-plugin/pr28879a.cc
|
||||||
|
@@ -0,0 +1,7 @@
|
||||||
|
+#include <string>
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+func (std::string *s)
|
||||||
|
+{
|
||||||
|
+ delete s;
|
||||||
|
+}
|
||||||
|
diff --git a/ld/testsuite/ld-plugin/pr28879b.cc b/ld/testsuite/ld-plugin/pr28879b.cc
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..02fc351366c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/ld/testsuite/ld-plugin/pr28879b.cc
|
||||||
|
@@ -0,0 +1,8 @@
|
||||||
|
+#include <string>
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+main (void)
|
||||||
|
+{
|
||||||
|
+ std::string header;
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
96
docs/patches/zstd-1.5.2-upstream_fixes-1.patch
Normal file
96
docs/patches/zstd-1.5.2-upstream_fixes-1.patch
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
Submitted By: Xi Ruoyao <xry111@linuxfromscratch.org>
|
||||||
|
Date: 2021-03-04
|
||||||
|
Initial Package Version: 1.5.2
|
||||||
|
Upstream Status: Applied
|
||||||
|
Origin: Upstream Git Repository
|
||||||
|
Description: Fix bad assertions causing test failure.
|
||||||
|
|
||||||
|
From 246982e782849d8646b2d5df6648319935669228 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Terrell <terrelln@fb.com>
|
||||||
|
Date: Thu, 20 Jan 2022 22:41:47 -0800
|
||||||
|
Subject: [PATCH] [dibio] Fix assertion triggered by no inputs
|
||||||
|
|
||||||
|
Passing 0 inputs to `DiB_shuffle()` caused an assertion failure where
|
||||||
|
it should just return.
|
||||||
|
|
||||||
|
A test is added in a later commit, with the initial introduction of the
|
||||||
|
new testing framework.
|
||||||
|
|
||||||
|
Fixes #3007.
|
||||||
|
---
|
||||||
|
programs/dibio.c | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/programs/dibio.c b/programs/dibio.c
|
||||||
|
index d19f954486..147d1e7bfd 100644
|
||||||
|
--- a/programs/dibio.c
|
||||||
|
+++ b/programs/dibio.c
|
||||||
|
@@ -27,9 +27,9 @@
|
||||||
|
#include <string.h> /* memset */
|
||||||
|
#include <stdio.h> /* fprintf, fopen, ftello64 */
|
||||||
|
#include <errno.h> /* errno */
|
||||||
|
-#include <assert.h>
|
||||||
|
|
||||||
|
#include "timefn.h" /* UTIL_time_t, UTIL_clockSpanMicro, UTIL_getTime */
|
||||||
|
+#include "../lib/common/debug.h" /* assert */
|
||||||
|
#include "../lib/common/mem.h" /* read */
|
||||||
|
#include "dibio.h"
|
||||||
|
|
||||||
|
@@ -193,7 +193,8 @@ static U32 DiB_rand(U32* src)
|
||||||
|
static void DiB_shuffle(const char** fileNamesTable, unsigned nbFiles) {
|
||||||
|
U32 seed = 0xFD2FB528;
|
||||||
|
unsigned i;
|
||||||
|
- assert(nbFiles >= 1);
|
||||||
|
+ if (nbFiles == 0)
|
||||||
|
+ return;
|
||||||
|
for (i = nbFiles - 1; i > 0; --i) {
|
||||||
|
unsigned const j = DiB_rand(&seed) % (i + 1);
|
||||||
|
const char* const tmp = fileNamesTable[j];
|
||||||
|
|
||||||
|
From d109cef2012b1e0ca7a6f47278a2838f68bbc196 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Xi Ruoyao <xry111@mengyan1223.wang>
|
||||||
|
Date: Sat, 5 Mar 2022 03:56:44 +0800
|
||||||
|
Subject: [PATCH] fix the assertion in readLinesFromFile (#3084)
|
||||||
|
|
||||||
|
* fix the assertion in readLinesFromFile
|
||||||
|
|
||||||
|
When the file is not terminated by endline, readLineFromFile will append
|
||||||
|
a '\0' for the last line. In this case pos + lineLength == dstCapacity.
|
||||||
|
|
||||||
|
* test: don't print very long text garbage
|
||||||
|
---
|
||||||
|
programs/util.c | 2 +-
|
||||||
|
tests/playTests.sh | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/programs/util.c b/programs/util.c
|
||||||
|
index d69b72a37c..55bcff25af 100644
|
||||||
|
--- a/programs/util.c
|
||||||
|
+++ b/programs/util.c
|
||||||
|
@@ -418,7 +418,7 @@ readLinesFromFile(void* dst, size_t dstCapacity,
|
||||||
|
while ( !feof(inputFile) ) {
|
||||||
|
size_t const lineLength = readLineFromFile(buf+pos, dstCapacity-pos, inputFile);
|
||||||
|
if (lineLength == 0) break;
|
||||||
|
- assert(pos + lineLength < dstCapacity);
|
||||||
|
+ assert(pos + lineLength <= dstCapacity); /* '=' for inputFile not terminated with '\n' */
|
||||||
|
pos += lineLength;
|
||||||
|
++nbFiles;
|
||||||
|
}
|
||||||
|
diff --git a/tests/playTests.sh b/tests/playTests.sh
|
||||||
|
index 71e8dc0581..d4271b2f07 100755
|
||||||
|
--- a/tests/playTests.sh
|
||||||
|
+++ b/tests/playTests.sh
|
||||||
|
@@ -735,11 +735,11 @@ test -f tmp4
|
||||||
|
|
||||||
|
println "test : survive the list of files with too long filenames (--filelist=FILE)"
|
||||||
|
datagen -g5M > tmp_badList
|
||||||
|
-zstd -f --filelist=tmp_badList && die "should have failed : file name length is too long"
|
||||||
|
+zstd -qq -f --filelist=tmp_badList && die "should have failed : file name length is too long" # printing very long text garbage on console will cause CI failure
|
||||||
|
|
||||||
|
println "test : survive a list of files which is text garbage (--filelist=FILE)"
|
||||||
|
datagen > tmp_badList
|
||||||
|
-zstd -f --filelist=tmp_badList && die "should have failed : list is text garbage"
|
||||||
|
+zstd -qq -f --filelist=tmp_badList && die "should have failed : list is text garbage" # printing very long text garbage on console will cause CI failure
|
||||||
|
|
||||||
|
println "test : survive a list of files which is binary garbage (--filelist=FILE)"
|
||||||
|
datagen -P0 -g1M > tmp_badList
|
@ -145,7 +145,6 @@ nav:
|
|||||||
- Смена владельца каталога $LIN: build-temp-system/change-owner.md
|
- Смена владельца каталога $LIN: build-temp-system/change-owner.md
|
||||||
- Вход в окружение chroot: build-temp-system/enter-in-chroot.md
|
- Вход в окружение chroot: build-temp-system/enter-in-chroot.md
|
||||||
- Создание базовых файлов и ссылок: build-temp-system/create-files.md
|
- Создание базовых файлов и ссылок: build-temp-system/create-files.md
|
||||||
- libstdc++ проход 2: build-temp-system/libstdc-p2.md
|
|
||||||
- gettext: build-temp-system/gettext.md
|
- gettext: build-temp-system/gettext.md
|
||||||
- bison: build-temp-system/bison.md
|
- bison: build-temp-system/bison.md
|
||||||
- perl: build-temp-system/perl.md
|
- perl: build-temp-system/perl.md
|
||||||
|
Loading…
Reference in New Issue
Block a user