Merge ~paelzer/ubuntu/+source/ipxe:FTBFS-eoan-gcc9-bug-1843394 into ubuntu/+source/ipxe:ubuntu/eoan-devel

Proposed by Christian Ehrhardt 
Status: Work in progress
Proposed branch: ~paelzer/ubuntu/+source/ipxe:FTBFS-eoan-gcc9-bug-1843394
Merge into: ubuntu/+source/ipxe:ubuntu/eoan-devel
Diff against target: 136 lines (+108/-0)
4 files modified
debian/changelog (+9/-0)
debian/patches/FTFBS-gcc9.patch (+38/-0)
debian/patches/lp-1843394-compilation-error-with-gcc-9.1.patch (+59/-0)
debian/patches/series (+2/-0)
Reviewer Review Type Date Requested Status
Andreas Hasenack Pending
Canonical Server Pending
git-ubuntu developers Pending
Review via email: mp+372535@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

ATM this is WIP waiting for upstream feedback.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

=> https://bugs.launchpad.net/ubuntu/+source/ipxe/+bug/1843394/comments/3

It seems we eventually don't even use the object that triggers the FTBFS :-/

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

packaging is fine, but I have no clue about the assembly patch. I checked upstream and no response yet, and no recent commit to their git tree either. One would think the person who supplied that other ftbfs patch would have hit the same problem. Maybe worth an email to Valentine Barshak <email address hidden>?

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

On Wed, Sep 11, 2019 at 3:40 PM Andreas Hasenack <email address hidden> wrote:
>
> packaging is fine, but I have no clue about the assembly patch. I checked upstream and no response yet, and no recent commit to their git tree either. One would think the person who supplied that other ftbfs patch would have hit the same problem. Maybe worth an email to Valentine Barshak <email address hidden>?

You need to build EFI parts (not default) or explicitly enable GDBSTUB
(no default) to hit it.
The issue that was fixed by him was hit with the default config.
But yeah, a mail can't hurt.

Unmerged commits

05ec26a... by Christian Ehrhardt 

changelog: Fix FTBFS in Eoan (LP: #1843394)

Signed-off-by: Christian Ehrhardt <email address hidden>

29ca620... by Christian Ehrhardt 

- d/p/lp-1843394-compilation-error-with-gcc-9.1.patch: avoid issues of type address-of-packed-member

Signed-off-by: Christian Ehrhardt <email address hidden>

b27b30a... by Christian Ehrhardt 

- d/p/FTFBS-gcc9.patch: fix gdb stub usage of segment registers

Signed-off-by: Christian Ehrhardt <email address hidden>

759bbbb... by Christian Ehrhardt 

Import patches-unapplied version 1.0.0+git-20190109.133f4c4-0ubuntu2 to ubuntu/disco-proposed

Imported using git-ubuntu import.

Upload parent: fe9eed764b3010fe4869eae3535a8211113f84ea

fe9eed7... by Christian Ehrhardt 

changelog: Add e1000e firmware for qemu. (closes: #884240)

Signed-off-by: Christian Ehrhardt <email address hidden>

861253a... by Christian Ehrhardt 

* Add e1000e firmware for qemu. (closes: #884240)
  - d/ipxe-qemu.install: install new rom
  - d/util/check-rom-sizes: check new rom

Signed-off-by: Christian Ehrhardt <email address hidden>

141df1d... by Christian Ehrhardt 

Import patches-unapplied version 1.0.0+git-20190109.133f4c4-0ubuntu1 to ubuntu/disco-proposed

Imported using git-ubuntu import.

Changelog parent: 671f316068d722f5969c304d635592bd54954b60

New changelog entries:
  * Merge new upstream release 1.0.0+git-20190109.133f4c4
    Remaining Changes:
    - d/p/enable-https.patch: Enable HTTPS support.
    - Split grub integration from ipxe->grub-ipxe.
      - d/control: add package and adapt dependencies
      - d/[grub-]ipxe.install: move some files to grub-ipxe
      - rename d/ipxe.post* to d/grub-ipxe-post*
    - Install ne.rom as pxe-ne2k_isa.rom
      - d/ipxe-qemu.install: Install ne.rom as pxe-ne2k_isa.rom.
      - d/ipxe-qemu.links: compat link for ne.rom
    - d/ipxe-qemu.links: Add compat links from /usr/share/qemu
      to /usr/lib/ipxe/qemu.
    - d/util/check-rom-sizes, d/rules: check sizes of generated roms to avoid
      accidentially breaking KVM live migration on updates/fixes.
    - handling of efi rom size changes in Bionic (LP 1713490)
      - d/util/check-rom-sizes: bump efi rom sizes
      - d/control: break older qemu versions to ensure the new sized roms
        are only associated with new qemu versions.
    - debian/patches/handle-dhcp-nack.patch: Handle DHCP NAK and send a
      re-discover. (LP 1707999)
    - updated debian/patches/util-elf2efi-GNU_SOURCE.patch to match latest
      upstream.
    - add new rom for vmxnet3 (LP 1737211)
      - d/ipxe-qemu.install: install new rom
        are only associated with new qemu versions.
    - Build ROMs for QEMU with CONFIG=qemu (LP: 1789319)
    - d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch: Strip 802.1Q VLAN 0
      priority tags; Fixes PXE when VLAN tag is 0. (LP: 1805920)
    - debian/copyright: update copyright information to satisfy lintian
      dep5 checks (LP: 1747071)
  * Dropped changes (upstream):
    - debian/patches/fix-elf2efi-plt-relocation.diff: Cherry-pick fix from
      ipxe devel mailing list to handle R_X86_64_PLT32 relocations.

671f316... by Andres Rodriguez

Import patches-unapplied version 1.0.0+git-20180124.fbe8c52d-0ubuntu5 to ubuntu/disco-proposed

Imported using git-ubuntu import.

Changelog parent: e0bcbbf3e69e789458aa7e98ed9cabde01d8c6cc

New changelog entries:
  * d/p/0005-strip-802.1Q-VLAN-0-priority-tags.patch: Strip 802.1Q VLAN 0
    priority tags; Fixes PXE when VLAN tag is 0. (LP: #1805920)

e0bcbbf... by Julian Andres Klode

Import patches-unapplied version 1.0.0+git-20180124.fbe8c52d-0ubuntu4 to ubuntu/cosmic-proposed

Imported using git-ubuntu import.

Changelog parent: 6644bad73849a3c4b83be26eb631db0669351ce2

New changelog entries:
  * Build ROMs for QEMU with CONFIG=qemu (LP: #1789319)

6644bad... by Julian Andres Klode

Import patches-unapplied version 1.0.0+git-20180124.fbe8c52d-0ubuntu3 to ubuntu/cosmic-proposed

Imported using git-ubuntu import.

Changelog parent: 59fb9a7fd3444341a97bcfb4dc6208d4114d395f

New changelog entries:
  * debian/patches/fix-elf2efi-plt-relocation.diff: Cherry-pick fix from
    ipxe devel mailing list to handle R_X86_64_PLT32 relocations.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index c11bbfa..b525bd7 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,12 @@
6+ipxe (1.0.0+git-20190109.133f4c4-0ubuntu3) eoan; urgency=medium
7+
8+ * Fix FTBFS in Eoan (LP: #1843394)
9+ - d/p/lp-1843394-compilation-error-with-gcc-9.1.patch: avoid issues of
10+ type address-of-packed-member
11+ - d/p/FTFBS-gcc9.patch: fix gdb stub usage of segment registers
12+
13+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Tue, 10 Sep 2019 10:41:43 +0200
14+
15 ipxe (1.0.0+git-20190109.133f4c4-0ubuntu2) disco; urgency=medium
16
17 * Add e1000e firmware for qemu. (closes: #884240)
18diff --git a/debian/patches/FTFBS-gcc9.patch b/debian/patches/FTFBS-gcc9.patch
19new file mode 100644
20index 0000000..ef07b2b
21--- /dev/null
22+++ b/debian/patches/FTFBS-gcc9.patch
23@@ -0,0 +1,38 @@
24+Description: experimental: size mismatch on segment register access
25+ The GDB stubs break on new gcc for "operand type mismatch"
26+Forwarded: yes, http://lists.ipxe.org/pipermail/ipxe-devel/2019-September/006763.html
27+Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
28+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1843394
29+Last-Update: 2019-09-10
30+--- a/src/arch/x86_64/core/gdbidt.S
31++++ b/src/arch/x86_64/core/gdbidt.S
32+@@ -106,8 +106,14 @@ gdbmach_sigill:
33+ gdbmach_interrupt:
34+
35+ /* Create register dump */
36+- pushq %gs
37+- pushq %fs
38++ pushw $0
39++ pushw $0
40++ pushw $0
41++ pushw %gs
42++ pushw $0
43++ pushw $0
44++ pushw $0
45++ pushw %fs
46+ pushq $0 /* %es unused in long mode */
47+ pushq $0 /* %ds unused in long mode */
48+ pushq ( frame_ss - regs_ss - SIZEOF_REG )(%rsp)
49+@@ -158,8 +164,10 @@ gdbmach_interrupt:
50+ popq ( frame_cs - regs_cs - SIZEOF_REG )(%rsp)
51+ popq ( frame_ss - regs_ss - SIZEOF_REG )(%rsp)
52+ addq $( regs_fs - regs_ds ), %rsp /* skip %ds, %es */
53+- popq %fs
54+- popq %gs
55++ popw %fs
56++ add %rsp,6
57++ popw %gs
58++ add %rsp,6
59+
60+ /* Skip code */
61+ addq $( gdb_end - gdb_code ), %rsp /* skip code */
62diff --git a/debian/patches/lp-1843394-compilation-error-with-gcc-9.1.patch b/debian/patches/lp-1843394-compilation-error-with-gcc-9.1.patch
63new file mode 100644
64index 0000000..e44ec3e
65--- /dev/null
66+++ b/debian/patches/lp-1843394-compilation-error-with-gcc-9.1.patch
67@@ -0,0 +1,59 @@
68+From 1dd56dbd11082fb622c2ed21cfaced4f47d798a6 Mon Sep 17 00:00:00 2001
69+From: Valentine Barshak <gvaxon@gmail.com>
70+Date: Mon, 22 Jul 2019 10:47:50 +0100
71+Subject: [PATCH] [build] Workaround compilation error with gcc 9.1
72+
73+Compiling with gcc 9.1 generates lots of "taking address of packed
74+member of ... may result in an unaligned pointer value" warnings.
75+
76+Some of these warnings are genuine, and indicate correctly that parts
77+of iPXE currently require the CPU (or runtime environment) to support
78+unaligned accesses. For example: the TCP/IP receive data path will
79+attempt to access 32-bit fields that may not be aligned to a 32-bit
80+boundary.
81+
82+Other warnings are either spurious (such as when the pointer is to a
83+variable-length byte array, which can have no alignment requirement
84+anyway) or unhelpful (such as when the pointer is used solely to
85+provide a debug colour value for the DBGC() macro).
86+
87+There appears to be no easy way to silence the spurious warnings.
88+Since the ability to perform unaligned accesses is already a
89+requirement for iPXE, work around the problem by silencing this class
90+of warnings.
91+
92+Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
93+Modified-by: Michael Brown <mcb30@ipxe.org>
94+Signed-off-by: Michael Brown <mcb30@ipxe.org>
95+
96+Origin: upstream, https://git.ipxe.org/ipxe.git/commit/1dd56dbd11082fb622c2ed21cfaced4f47d798a6
97+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1843394
98+Last-Update: 2019-09-10
99+
100+---
101+ src/Makefile.housekeeping | 9 +++++++++
102+ 1 file changed, 9 insertions(+)
103+
104+diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
105+index f8334921..4b09e81f 100644
106+--- a/src/Makefile.housekeeping
107++++ b/src/Makefile.housekeeping
108+@@ -185,6 +185,15 @@ WNST_TEST = $(CC) -Wstringop-truncation -x c -c /dev/null -o /dev/null \
109+ >/dev/null 2>&1
110+ WNST_FLAGS := $(shell $(WNST_TEST) && $(ECHO) '-Wno-stringop-truncation')
111+ WORKAROUND_CFLAGS += $(WNST_FLAGS)
112++
113++# gcc 9.1 generates warnings for taking address of packed member which
114++# may result in an unaligned pointer value. Inhibit the warnings.
115++#
116++WNAPM_TEST = $(CC) -Wno-address-of-packed-member -x c -c /dev/null \
117++ -o /dev/null >/dev/null 2>&1
118++WNAPM_FLAGS := $(shell $(WNAPM_TEST) && \
119++ $(ECHO) '-Wno-address-of-packed-member')
120++WORKAROUND_CFLAGS += $(WNAPM_FLAGS)
121+ endif
122+
123+ # Some versions of gas choke on division operators, treating them as
124+--
125+2.23.0
126+
127diff --git a/debian/patches/series b/debian/patches/series
128index c66db88..df7499f 100644
129--- a/debian/patches/series
130+++ b/debian/patches/series
131@@ -3,3 +3,5 @@ util-elf2efi-GNU_SOURCE.patch
132 enable-https.patch
133 handle-dhcp-nack.patch
134 0005-strip-802.1Q-VLAN-0-priority-tags.patch
135+FTFBS-gcc9.patch
136+lp-1843394-compilation-error-with-gcc-9.1.patch

Subscribers

People subscribed via source and target branches