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

Vladimir D. Seleznev vseleznv на altlinux.org
Вт Янв 25 19:12:22 MSK 2022


On Tue, Jan 25, 2022 at 02:52:26PM +0400, Alexey Sheplyakov wrote:
> Здравствуйте!
> 
> 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,
> если никто об этом не просил.

Это было намеренно решение, собирать всё с position independent на
уровне репозитория.

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

PI же не про производительность, с другой стороны, особой пользы на
32-хбитных архитектурах ввиду несравненно меньшего адресного
пространства по сравнению с 64-хбитными. Возможно, неплохая мысль
выключить PI для них.

-- 
   WBR,
   Vladimir D. Seleznev


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