[devel] [#291551] [test-only] FAILED (try 5) crtools.git=3.16.1-alt1

Alexey Sheplyakov asheplyakov на basealt.ru
Вт Янв 25 13:52:26 MSK 2022


Здравствуйте!

On Mon, Jan 24, 2022 at 06:54:54PM +0300, Vladimir D. Seleznev wrote:
> Hi, devel@!
> 
> On Mon, Jan 17, 2022 at 11:29:03AM +0000, Girar awaiter (vseleznv) wrote:
> > https://git.altlinux.org/tasks/291551/logs/events.5.1.log
> > 
> > subtask  name     aarch64    armh  i586  ppc64le  x86_64
> >    #300  crtools     1:31  failed     -     1:27      49
> > 
> > 2022-Jan-17 11:27:29 :: test-only task #291551 for sisyphus resumed by vseleznv:
> > #100 removed
> > #200 removed
> > #300 build 3.16.1-alt1 from /people/vseleznv/packages/crtools.git fetched at 2021-Dec-07 06:54:54
> > 2022-Jan-17 11:27:30 :: #300: force rebuild
> > 2022-Jan-17 11:27:30 :: [i586] #300 crtools.git 3.16.1-alt1: build start
> > 2022-Jan-17 11:27:30 :: [ppc64le] #300 crtools.git 3.16.1-alt1: build start
> > 2022-Jan-17 11:27:30 :: [x86_64] #300 crtools.git 3.16.1-alt1: build start
> > 2022-Jan-17 11:27:30 :: [aarch64] #300 crtools.git 3.16.1-alt1: build start
> > 2022-Jan-17 11:27:30 :: [armh] #300 crtools.git 3.16.1-alt1: build start
> > 2022-Jan-17 11:27:38 :: [i586] #300 crtools.git 3.16.1-alt1: build SKIPPED
> > 2022-Jan-17 11:28:19 :: [x86_64] #300 crtools.git 3.16.1-alt1: build OK
> > 2022-Jan-17 11:28:57 :: [ppc64le] #300 crtools.git 3.16.1-alt1: build OK
> > 2022-Jan-17 11:29:01 :: [aarch64] #300 crtools.git 3.16.1-alt1: build OK

У нас по умолчанию GCC генерит position independent code (то есть сборка
неявно происходит с -fPIC/-fPIE). Даже на тех архитектурах, где это приводит
к существенному снижению производительности (x86) и/или меняет ABI,
вот как здесь:

> > [armh] either the file containing the function 'code_syscall' or the file containing the function '' is not compiled with -fpic/-fPIC
> > [armh] verify-elf: ERROR: ./usr/sbin/criu: TEXTREL entry found: 0x00000000
> > [armh] verify-elf: WARNING: ./usr/bin/compel: skipping eu-elflint by request
> 
> А кто знает как такое чинить?

*По уму* чинить это надо в GCC, а именно: не генерить position independent,
если никто об этом не просил. Хотя бы на тех архитектурах, где это
сильно мешает. Пока GCC не починили (и даже не собираются), придётся вручную
в $CFLAGS передавать `-fno-pic -fno-PIC -fno-pie -fno-PIE`.

Всего доброго,
    Алексей



Подробная информация о списке рассылки Devel