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
|
||||
{{ include('../packages/binutils/prepare') }}
|
||||
```
|
||||
|
||||
Примените патч
|
||||
Примените патч:
|
||||
```bash
|
||||
{{ include('../packages/binutils/patch') }}
|
||||
```
|
||||
|
||||
<!-- temp solution TODO: Remove in next versions -->
|
||||
Ошибка в системе сборки приводит к тому, что страницы руководства становятся пустыми. Можно обойти проблему, чтобы страницы руководства были созданы правильно:
|
||||
|
||||
```bash
|
||||
sed -i '63d' etc/texi2pod.pl
|
||||
find -name \*.1 -delete
|
||||
```
|
||||
|
||||
## Настройка
|
||||
|
||||
```bash
|
||||
|
@ -58,4 +58,3 @@
|
||||
|
||||
Библиотеки: libffi.so
|
||||
|
||||
|
||||
|
@ -1,5 +1,13 @@
|
||||
{{ include('../packages/zstd/README.md') }}
|
||||
|
||||
## Подготовка
|
||||
|
||||
Примените патч:
|
||||
|
||||
```bash
|
||||
patch -Np1 -i ../zstd-1.5.2-upstream_fixes-1.patch
|
||||
```
|
||||
|
||||
## Сборка
|
||||
|
||||
```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
|
||||
|
||||
|
@ -2,6 +2,12 @@
|
||||
|
||||
## Подготовка
|
||||
|
||||
Исправьте ошибку связанную с поставкой устаревшей версии `libtool` вместе с `Binutils`:
|
||||
|
||||
```bash
|
||||
sed '6009s/$add_dir//' -i ltmain.sh
|
||||
```
|
||||
|
||||
Пакет Binutils требует использовать отдельную директорию для сборки. Создайте её:
|
||||
|
||||
```bash
|
||||
@ -35,6 +41,5 @@ make
|
||||
## Установка
|
||||
|
||||
```bash
|
||||
make DESTDIR=$LIN install -j1
|
||||
install -vm755 libctf/.libs/libctf.so.0.0.0 $LIN/usr/lib
|
||||
make DESTDIR=$LIN install
|
||||
```
|
||||
|
@ -32,32 +32,40 @@ mkdir -v build
|
||||
cd build
|
||||
```
|
||||
|
||||
Исправьте ошибку кросс-компиляции `libstdc++':
|
||||
|
||||
```bash
|
||||
sed 's/gnu++17/& -nostdinc++/' \
|
||||
-i libstdc++-v3/src/c++17/Makefile.in
|
||||
```
|
||||
|
||||
Разрешим сборку `libgcc` с поддержкой многопоточности:
|
||||
|
||||
```bash
|
||||
mkdir -pv $LIN_TGT/libgcc
|
||||
ln -s ../../../libgcc/gthr-posix.h $LIN_TGT/libgcc/gthr-default.h
|
||||
sed '/thread_header =/s/@.*@/gthr-posix.h/' \
|
||||
-i libgcc/Makefile.in libstdc++-v3/include/Makefile.in
|
||||
```
|
||||
|
||||
Настройка:
|
||||
|
||||
```bash
|
||||
../configure \
|
||||
--build=$(../config.guess) \
|
||||
--host=$LIN_TGT \
|
||||
--prefix=/usr \
|
||||
CC_FOR_TARGET=$LIN_TGT-gcc \
|
||||
--with-build-sysroot=$LIN \
|
||||
--enable-initfini-array \
|
||||
--disable-nls \
|
||||
--disable-decimal-float \
|
||||
--disable-libatomic \
|
||||
--disable-libgomp \
|
||||
--disable-libquadmath \
|
||||
--disable-libssp \
|
||||
--disable-libvtv \
|
||||
--disable-libstdcxx \
|
||||
--enable-languages=c,c++ \
|
||||
../configure \
|
||||
--build=$(../config.guess) \
|
||||
--host=$LIN_TGT \
|
||||
--target=$LIN_TGT \
|
||||
LDFLAGS_FOR_TARGET=-L$PWD/$LIN_TGT/libgcc \
|
||||
--prefix=/usr \
|
||||
--with-build-sysroot=$LFS \
|
||||
--enable-initfini-array \
|
||||
--disable-nls \
|
||||
--disable-multilib \
|
||||
--disable-decimal-float \
|
||||
--disable-libatomic \
|
||||
--disable-libgomp \
|
||||
--disable-libquadmath \
|
||||
--disable-libssp \
|
||||
--disable-libvtv \
|
||||
--enable-languages=c,c++ \
|
||||
--disable-multilib
|
||||
```
|
||||
|
||||
@ -69,7 +77,7 @@ ln -s ../../../libgcc/gthr-posix.h $LIN_TGT/libgcc/gthr-default.h
|
||||
|
||||
`--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++. Это единственные языки, которые нужны сейчас.
|
||||
|
||||
|
@ -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
|
||||
- findutils 4.9.0
|
||||
- expat 2.4.4
|
||||
@ -33,6 +43,8 @@
|
||||
|
||||
## Изменения
|
||||
|
||||
- Инструкции установки libstdc++ при втором проходе включены в инструкции для GCC
|
||||
- Добавлены патчи для Binutils и Zstd
|
||||
- Удалена устаревшая команда для glibc
|
||||
- Добавлен патч для coreutils
|
||||
- Пакет `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",
|
||||
"fileName": "bc-5.2.1.tar.xz",
|
||||
"fileName": "bc-5.2.2.tar.xz",
|
||||
"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",
|
||||
"version": "5.2.1",
|
||||
"version": "5.2.2",
|
||||
"releasesUrl": "https://git.yzena.com/gavin/bc/releases",
|
||||
"priority": "important",
|
||||
"md5": "19dbb20c3aba33acacec29edd0b2c46e",
|
||||
@ -149,15 +149,15 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
"fileName": "binutils-2.37.tar.xz",
|
||||
"fileName": "binutils-2.38.tar.xz",
|
||||
"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",
|
||||
"version": "2.37",
|
||||
"version": "2.38",
|
||||
"releasesUrl": "https://ftp.gnu.org/gnu/binutils",
|
||||
"priority": "required",
|
||||
"md5": "e78d9ff2976b745a348f4c1f27c77cb1",
|
||||
@ -180,7 +180,7 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
@ -292,11 +292,11 @@
|
||||
},
|
||||
{
|
||||
"name": "dbus",
|
||||
"fileName": "dbus-1.13.18.tar.xz",
|
||||
"fileName": "dbus-1.14.0.tar.xz",
|
||||
"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/",
|
||||
"version": "1.13.18",
|
||||
"version": "1.14.0",
|
||||
"releasesUrl": "https://dbus.freedesktop.org/releases/dbus/",
|
||||
"priority": "important",
|
||||
"md5": "b25e4fcfbfd4889bef76f7241dfa1a04",
|
||||
@ -317,7 +317,7 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
@ -475,11 +475,11 @@
|
||||
},
|
||||
{
|
||||
"name": "expat",
|
||||
"fileName": "expat-2.4.4.tar.xz",
|
||||
"fileName": "expat-2.4.6.tar.xz",
|
||||
"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",
|
||||
"version": "2.4.4",
|
||||
"version": "2.4.6",
|
||||
"releasesUrl": "https://sourceforge.net/projects/expat/files/expat/",
|
||||
"priority": "important",
|
||||
"md5": "a712d23b7afb32e7527cf0b3fd8f12ac",
|
||||
@ -499,7 +499,7 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
@ -648,11 +648,11 @@
|
||||
},
|
||||
{
|
||||
"name": "gdbm",
|
||||
"fileName": "gdbm-1.22.tar.gz",
|
||||
"fileName": "gdbm-1.23.tar.gz",
|
||||
"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",
|
||||
"version": "1.22",
|
||||
"version": "1.23",
|
||||
"releasesUrl": "https://ftp.gnu.org/gnu/gdbm/",
|
||||
"priority": "important",
|
||||
"md5": "0bbd38f12656e4728e2f7c4708aec014",
|
||||
@ -667,7 +667,7 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
@ -873,11 +873,11 @@
|
||||
},
|
||||
{
|
||||
"name": "iana-etc",
|
||||
"fileName": "iana-etc-20220110.tar.gz",
|
||||
"fileName": "iana-etc-20220222.tar.gz",
|
||||
"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",
|
||||
"version": "20220110",
|
||||
"version": "20220222",
|
||||
"releasesUrl": "https://github.com/Mic92/iana-etc/releases/",
|
||||
"priority": "required",
|
||||
"md5": "cd22a9f75b03a2be5638e67d4e72bf19",
|
||||
@ -889,7 +889,7 @@
|
||||
"install"
|
||||
],
|
||||
"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",
|
||||
@ -1194,11 +1194,11 @@
|
||||
},
|
||||
{
|
||||
"name": "linux",
|
||||
"fileName": "linux-5.16.2.tar.xz",
|
||||
"fileName": "linux-5.16.12.tar.xz",
|
||||
"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",
|
||||
"version": "5.16.2",
|
||||
"version": "5.16.12",
|
||||
"releasesUrl": "https://www.kernel.org",
|
||||
"priority": "required",
|
||||
"md5": "fd00badc3b53d42da3d84a7cf6f53f17",
|
||||
@ -1206,7 +1206,7 @@
|
||||
"installedSize": 0,
|
||||
"sbu": 0,
|
||||
"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": [],
|
||||
"multilibSupport": false
|
||||
},
|
||||
@ -1259,11 +1259,11 @@
|
||||
},
|
||||
{
|
||||
"name": "man-db",
|
||||
"fileName": "man-db-2.9.4.tar.xz",
|
||||
"fileName": "man-db-2.10.1.tar.xz",
|
||||
"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",
|
||||
"version": "2.9.4",
|
||||
"version": "2.10.1",
|
||||
"releasesUrl": "https://download.savannah.gnu.org/releases/man-db/",
|
||||
"priority": "optional",
|
||||
"md5": "6e233a555f7b9ae91ce7cd0faa322bce",
|
||||
@ -1278,7 +1278,7 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
@ -1302,11 +1302,11 @@
|
||||
},
|
||||
{
|
||||
"name": "meson",
|
||||
"fileName": "meson-0.61.1.tar.gz",
|
||||
"fileName": "meson-0.61.2.tar.gz",
|
||||
"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",
|
||||
"version": "0.61.1",
|
||||
"version": "0.61.2",
|
||||
"releasesUrl": "https://github.com/mesonbuild/meson/releases/",
|
||||
"priority": "important",
|
||||
"md5": "8ed66d5537275df3defffb66d1fb897f",
|
||||
@ -1320,7 +1320,7 @@
|
||||
"prepare"
|
||||
],
|
||||
"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",
|
||||
@ -1699,11 +1699,11 @@
|
||||
},
|
||||
{
|
||||
"name": "markupsafe",
|
||||
"fileName": "MarkupSafe-2.0.1.tar.gz",
|
||||
"fileName": "MarkupSafe-2.1.0.tar.gz",
|
||||
"description": "MarkupSafe - это модуль Python, который экранирует символы, поэтому текст безопасно использовать в HTML и XML. Символы, имеющие особое значение, заменяются так, чтобы они отображались как фактические символы. Это смягчает атаки инъекций, что означает, что вводимые пользователем данные, которым не доверяют, могут безопасно отображаться на странице.",
|
||||
"url": "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-2.0.1.tar.gz",
|
||||
"homeUrl": "https://markupsafe.palletsprojects.com/en/2.0.x/",
|
||||
"version": "2.0.1",
|
||||
"url": "https://files.pythonhosted.org/packages/source/M/MarkupSafe/MarkupSafe-2.1.0.tar.gz",
|
||||
"homeUrl": "https://markupsafe.palletsprojects.com/en/2.1.x/",
|
||||
"version": "2.1.0",
|
||||
"releasesUrl": "https://pypi.org/project/MarkupSafe/#files",
|
||||
"priority": "required",
|
||||
"md5": "892e0fefa3c488387e5cc0cad2daa523",
|
||||
@ -1716,7 +1716,7 @@
|
||||
"install"
|
||||
],
|
||||
"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",
|
||||
@ -1902,11 +1902,11 @@
|
||||
},
|
||||
{
|
||||
"name": "util-linux",
|
||||
"fileName": "util-linux-2.37.2.tar.xz",
|
||||
"fileName": "util-linux-2.37.4.tar.xz",
|
||||
"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",
|
||||
"version": "2.37.2",
|
||||
"version": "2.37.4",
|
||||
"releasesUrl": "https://www.kernel.org/pub/linux/utils/util-linux/",
|
||||
"priority": "required",
|
||||
"md5": "d659bf7cd417d93dc609872f6334b019",
|
||||
@ -1933,15 +1933,15 @@
|
||||
"test-systemd"
|
||||
],
|
||||
"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",
|
||||
"fileName": "vim-8.2.4115.tar.gz",
|
||||
"fileName": "vim-8.2.4489.tar.gz",
|
||||
"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/",
|
||||
"version": "8.2.4115",
|
||||
"version": "8.2.4489",
|
||||
"releasesUrl": "https://github.com/vim/vim/releases",
|
||||
"priority": "optional",
|
||||
"md5": "c9a0f3b6b08f9ed89b0ec6c45180442c",
|
||||
@ -1958,7 +1958,7 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
@ -2069,11 +2069,11 @@
|
||||
},
|
||||
{
|
||||
"name": "zstd",
|
||||
"fileName": "zstd-1.5.1.tar.gz",
|
||||
"fileName": "zstd-1.5.2.tar.gz",
|
||||
"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/",
|
||||
"version": "1.5.1",
|
||||
"version": "1.5.2",
|
||||
"releasesUrl": "https://github.com/facebook/zstd/releases/",
|
||||
"priority": "important",
|
||||
"md5": "b97d53547220355907dedec7de9a4f29",
|
||||
@ -2092,7 +2092,7 @@
|
||||
"test"
|
||||
],
|
||||
"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",
|
||||
@ -2433,10 +2433,10 @@
|
||||
"scripts": []
|
||||
},
|
||||
{
|
||||
"name": "binutils-2.37-upstream_fix-1",
|
||||
"fileName": "binutils-2.37-upstream_fix-1.patch",
|
||||
"name": "binutils-2.38-lto_fix-1",
|
||||
"fileName": "binutils-2.38-lto_fix-1.patch",
|
||||
"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": "",
|
||||
"version": "1",
|
||||
"releasesUrl": "",
|
||||
@ -2446,7 +2446,7 @@
|
||||
"installedSize": 0,
|
||||
"sbu": 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,
|
||||
"scripts": []
|
||||
},
|
||||
|
3
docs/packages/tcl/configure
vendored
3
docs/packages/tcl/configure
vendored
@ -1,5 +1,4 @@
|
||||
SRCDIR=$(pwd)
|
||||
cd unix
|
||||
./configure --prefix=/usr \
|
||||
--mandir=/usr/share/man \
|
||||
$([ "$(uname -m)" = x86_64 ] && echo --enable-64bit)
|
||||
--mandir=/usr/share/man
|
||||
|
@ -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
|
||||
- Вход в окружение chroot: build-temp-system/enter-in-chroot.md
|
||||
- Создание базовых файлов и ссылок: build-temp-system/create-files.md
|
||||
- libstdc++ проход 2: build-temp-system/libstdc-p2.md
|
||||
- gettext: build-temp-system/gettext.md
|
||||
- bison: build-temp-system/bison.md
|
||||
- perl: build-temp-system/perl.md
|
||||
|
Loading…
Reference in New Issue
Block a user