Bug 36028 - Сломана сборка xen
Summary: Сломана сборка xen
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: xen (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Dmitriy Shadrinov
QA Contact: qa-sisyphus
URL: http://git.altlinux.org/beehive/logs/...
Keywords:
Depends on: 36138
Blocks:
  Show dependency tree
 
Reported: 2019-02-03 09:29 MSK by AEN
Modified: 2019-02-25 10:00 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description AEN 2019-02-03 09:29:32 MSK
Прошу исправить.
Лог сборки прилагается.
Comment 1 Dmitriy Shadrinov 2019-02-03 14:04:30 MSK
Да, я в курсе. Уже некоторое время пытаюсь победить.
Сейчас проблема в том x86_64-pc-mingw32-ld из mingw64-binutils не хочет работать с объектниками, сгенерированными gcc8 и как следствие не собирается EFI-весрия xen
Происходит вот такое:

[builder@localhost x86]$ x86_64-pc-mingw32-ld -mi386pep --subsystem=10 -o efi/check.efi efi/check.o
x86_64-pc-mingw32-ld: efi/check.o: unable to initialize decompress status for section .debug_info
x86_64-pc-mingw32-ld: efi/check.o: unable to initialize decompress status for section .debug_info
efi/check.o: file not recognized: file format not recognized
Comment 2 AEN 2019-02-03 14:35:42 MSK
http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/x/xen-4.11.1-1.fc30.x86_64.html


* Wed Mar 01 2017 Michael Young <m.a.young@durham.ac.uk> - 4.8.0-7
  <...>
  - mingw64-binutils no longer needed for building efi for x86_64 on fc26+
Comment 3 Dmitriy Shadrinov 2019-02-03 14:51:44 MSK
(В ответ на комментарий №2)
> http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/x/xen-4.11.1-1.fc30.x86_64.html
> 
> 
> * Wed Mar 01 2017 Michael Young <m.a.young@durham.ac.uk> - 4.8.0-7
>   <...>
>   - mingw64-binutils no longer needed for building efi for x86_64 on fc26+

Это интересно, в changelog это действительно описано, но никаких изменений в районе EFI в патчах нет и xen.spec содержит такие замечательные строки:

# efi image needs an ld that has -mi386pep option
%if %efiming
BuildRequires: mingw64-binutils
%endif
Comment 4 Alexey Shabalin 2019-02-04 22:42:11 MSK
(В ответ на комментарий №3)
> (В ответ на комментарий №2)
> > http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/x/xen-4.11.1-1.fc30.x86_64.html
> > 
> > 
> > * Wed Mar 01 2017 Michael Young <m.a.young@durham.ac.uk> - 4.8.0-7
> >   <...>
> >   - mingw64-binutils no longer needed for building efi for x86_64 on fc26+
> 
> Это интересно, в changelog это действительно описано, но никаких изменений в
> районе EFI в патчах нет и xen.spec содержит такие замечательные строки:
> 
> # efi image needs an ld that has -mi386pep option
> %if %efiming
> BuildRequires: mingw64-binutils
> %endif

Да, но посмотриет повыше, там есть код:

%if %build_efi && "%dist" < ".fc26"
%ifarch x86_64
%define efiming 1
%else
%define efiming 0
%endif
%else
%define efiming 0
%endif

Что означает, что после fedora-26 собирается без mingw64-binutils.

PS: не относящееся к этой баге, а в общем по сборке пакета:
- можно ли не писать апстримные изменения в rpm-changaelog? Очень сильно захламляет changelog. Апстримный люди и так знают где смотреть.
- прошу обновить и синхронизировать с патчами из fedora. Там огромное количество патчей закрывающих старые CVE на qemu, который xen носит с собой.
Comment 5 Dmitriy Shadrinov 2019-02-05 13:20:57 MSK
(В ответ на комментарий №4)

> - можно ли не писать апстримные изменения в rpm-changaelog? Очень сильно
> захламляет changelog. Апстримный люди и так знают где смотреть.

да, я уже сделал такие выводы, спасибо.
Comment 6 Dmitriy Shadrinov 2019-02-05 15:18:59 MSK
(В ответ на комментарий №4)
> (В ответ на комментарий №3)
> > (В ответ на комментарий №2)
> > > http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/x/xen-4.11.1-1.fc30.x86_64.html
> > > 
> > > 
> > > * Wed Mar 01 2017 Michael Young <m.a.young@durham.ac.uk> - 4.8.0-7
> > >   <...>
> > >   - mingw64-binutils no longer needed for building efi for x86_64 on fc26+
> > 
> > Это интересно, в changelog это действительно описано, но никаких изменений в
> > районе EFI в патчах нет и xen.spec содержит такие замечательные строки:
> > 
> > # efi image needs an ld that has -mi386pep option
> > %if %efiming
> > BuildRequires: mingw64-binutils
> > %endif
> 
> Да, но посмотриет повыше, там есть код:
> 
> %if %build_efi && "%dist" < ".fc26"
> %ifarch x86_64
> %define efiming 1
> %else
> %define efiming 0
> %endif
> %else
> %define efiming 0
> %endif
> 
> Что означает, что после fedora-26 собирается без mingw64-binutils.

Я пробовал собирать так, он действительно собирается но без image efi
Comment 7 Dmitriy Shadrinov 2019-02-05 15:47:46 MSK
(В ответ на комментарий №6)
> (В ответ на комментарий №4)
> > (В ответ на комментарий №3)
> > > (В ответ на комментарий №2)
> > > > http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/x/xen-4.11.1-1.fc30.x86_64.html
> > > > 
> > > > 
> > > > * Wed Mar 01 2017 Michael Young <m.a.young@durham.ac.uk> - 4.8.0-7
> > > >   <...>
> > > >   - mingw64-binutils no longer needed for building efi for x86_64 on fc26+
> > > 
> > > Это интересно, в changelog это действительно описано, но никаких изменений в
> > > районе EFI в патчах нет и xen.spec содержит такие замечательные строки:
> > > 
> > > # efi image needs an ld that has -mi386pep option
> > > %if %efiming
> > > BuildRequires: mingw64-binutils
> > > %endif
> > 
> > Да, но посмотриет повыше, там есть код:
> > 
> > %if %build_efi && "%dist" < ".fc26"
> > %ifarch x86_64
> > %define efiming 1
> > %else
> > %define efiming 0
> > %endif
> > %else
> > %define efiming 0
> > %endif
> > 
> > Что означает, что после fedora-26 собирается без mingw64-binutils.
> 
> Я пробовал собирать так, он действительно собирается но без image efi

Вот что мы имеем с текущим пакетом gcc8:

[builder@localhost x86]$ gcc -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs -O2 -fomit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror -Wredundant-decls -Wno-pointer-arith -pipe -g -D__XEN__ -include /usr/src/RPM/BUILD/xen-4.10.2/xen/include/xen/config.h '-D__OBJECT_FILE__=""' -Wa,--strip-local-absolute -I/usr/src/RPM/BUILD/xen-4.10.2/xen/include -I/usr/src/RPM/BUILD/xen-4.10.2/xen/include/asm-x86/mach-generic -I/usr/src/RPM/BUILD/xen-4.10.2/xen/include/asm-x86/mach-default -DXEN_IMG_OFFSET=0x200000 '-D__OBJECT_LABEL__=arch$x86$' -msoft-float -fno-stack-protector -fno-exceptions -Wnested-externs -DHAVE_GAS_VMX -DHAVE_GAS_SSE4_2 -DHAVE_GAS_EPT -DHAVE_GAS_RDRAND -DHAVE_GAS_FSGSBASE -DHAVE_GAS_RDSEED -U__OBJECT_LABEL__ -DHAVE_GAS_QUOTED_SYM '-D__OBJECT_LABEL__=arch/x86/' -DHAVE_AS_INVPCID -mno-red-zone -mno-sse -fpic -fno-asynchronous-unwind-tables -DGCC_HAS_VISIBILITY_ATTRIBUTE -mindirect-branch=thunk-extern -mindirect-branch-register -DCONFIG_INDIRECT_THUNK -Wa,-I/usr/src/RPM/BUILD/xen-4.10.2/xen/include -c efi/check.c -o efi/check.o
[builder@localhost x86]$ ld -mi386pep --subsystem=10 -o efi/check.efi efi/check.o
/usr/bin/ld.default: unrecognised emulation mode: i386pep
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om
Comment 8 Dmitriy Shadrinov 2019-02-06 12:57:06 MSK
По поводу дыр в qemu - вы зря на меня наехали. То что в федоре кому-то не хочется брать последний фиксы из upstream, я не виноват, хотят тянуть отдельными патчиками - ради бога. На текущий момент я вижу вариант только собрать его старым gcc7 с mingw.

PS: может быть в федоре поддержка -mi386pe имеется в родном линкере ld?
Comment 9 Dmitriy Shadrinov 2019-02-20 12:13:05 MSK
с новым mingw64-binutils-2.32 все собралось. я могу отправить обновленный mingw64-binutils в Sisyphus
Comment 10 AEN 2019-02-20 12:37:28 MSK
(В ответ на комментарий №9)
> с новым mingw64-binutils-2.32 все собралось. я могу отправить обновленный
> mingw64-binutils в Sisyphus

Конечно, отправляйте! Ждём.
Comment 11 AEN 2019-02-22 14:35:10 MSK
(In reply to comment #10)
> (В ответ на комментарий №9)
> > с новым mingw64-binutils-2.32 все собралось. я могу отправить обновленный
> > mingw64-binutils в Sisyphus
> 
> Конечно, отправляйте! Ждём.

Дмитрий, спасибо!
Что с xen?
Comment 12 Dmitriy Shadrinov 2019-02-22 15:02:09 MSK
Все почти готово, постараюсь сегодня-завтра отправить
Comment 13 AEN 2019-02-25 09:59:50 MSK
Спасибо!
Comment 14 AEN 2019-02-25 10:00:29 MSK
Закрываю.