On 21.01.2026 18:38, Roger Pau Monné wrote:
> On Tue, Dec 09, 2025 at 11:11:40AM +0100, Jan Beulich wrote:
>> While sizes (and possibly positions) of the symbol table related symbols
>> (and as a result other ones) are expected to change from linking pass 1
>> to pass 2, no such change should happen anymore from pass 2 to pass 3, or
>> else the internally recorded symbol table wouldn't represent the ELF or
>> PE/COFF ones.
>>
>> For comparing to be actually useful, i.e. most notably also covering the
>> last of the arrays emitted, symbol sizes need establishing. Make use of
>> the xen/linkage.h machinery to achieve that.
>>
>> Suggested-by: Roger Pau Monné <[email protected]>
>> Signed-off-by: Jan Beulich <[email protected]>
> 
> Acked-by: Roger Pau Monné <[email protected]>

Hmm, the Ubuntu builds (up to 20.04) still say no for xen.efi. One example:

diff -u  ./.xen.efi.1s.o.sym  ./.xen.efi.2s.o.sym
--- ./.xen.efi.1s.o.sym 2026-01-26 09:46:46.273317246 +0000
+++ ./.xen.efi.2s.o.sym 2026-01-26 09:46:46.276317175 +0000
@@ -7,13 +7,13 @@
 0000000000000000 l    d  .bss  0000000000000000 .bss
 0000000000000000 l    d  .rodata       0000000000000000 .rodata
 0000000000000000 l    d  .note.GNU-stack       0000000000000000 .note.GNU-stack
-0000000000000000 g     O .rodata       000000000000743c .hidden symbols_offsets
-000000000000743c g     O .rodata       0000000000000004 .hidden 
symbols_num_addrs
-0000000000007440 g     O .rodata       0000000000017f1e .hidden symbols_names
-000000000001f360 g     O .rodata       0000000000000078 .hidden symbols_markers
-000000000001f3d8 g     O .rodata       0000000000000443 .hidden 
symbols_token_table
-000000000001f81c g     O .rodata       0000000000000200 .hidden 
symbols_token_index
-000000000001fa1c g     O .rodata       0000000000000004 .hidden 
symbols_num_names
-000000000001fa20 g     O .rodata       000000000000e878 .hidden 
symbols_sorted_offsets
+0000000000000000 g     O .rodata       0000000000007438 .hidden symbols_offsets
+0000000000007438 g     O .rodata       0000000000000004 .hidden 
symbols_num_addrs
+000000000000743c g     O .rodata       0000000000017f13 .hidden symbols_names
+000000000001f350 g     O .rodata       0000000000000078 .hidden symbols_markers
+000000000001f3c8 g     O .rodata       0000000000000443 .hidden 
symbols_token_table
+000000000001f80c g     O .rodata       0000000000000200 .hidden 
symbols_token_index
+000000000001fa0c g     O .rodata       0000000000000004 .hidden 
symbols_num_names
+000000000001fa10 g     O .rodata       000000000000e870 .hidden 
symbols_sorted_offsets

i.e. there looks to be a (proper) symbol disappearing in this case.

Oh, wait - this is because "x86/EFI: correct symbol table generation with older
GNU ld" still hasn't gone in (and can't without having an ack).

Jan

Reply via email to