On 09.01.2025 14:44, Andrew Cooper wrote: > On 09/01/2025 1:23 pm, Jan Beulich wrote: >> On 09.01.2025 14:15, Marek Marczykowski-Górecki wrote: >>> Xen compiled with -mtune=generic has .text alignment set to 64-bytes. >>> Having text_diff non-64-bytes-aligned breaks stuff: >>> >>> Traceback (most recent call last): >>> File >>> "/builddir/build/BUILD/xen-4.20.0-build/xen-4.20.0-rc0/xen/./tools/combine_two_binaries.py", >>> line 96, in <module> >>> raise Exception('File sizes do not match') >>> Exception: File sizes do not match: 70160 != 4080 + 66048 >>> >>> Adjust the numbers as suggested by Frediano to work with 64-bytes and >>> even 128-bytes alignment. >> And then breaking at 256? As indicated on Matrix, imo we should be able to >> cope with anything up to at least PAGE_SIZE. Or we should reduce .text >> alignment before linking. > > Do you have a concrete proposal on how to do this?
The latter suggestion would involve objcopy's --set-section-alignment, the former would involve using constants with the low 12 bits clear. > Because if not, we've had 2 downstreams hit by this build failure, and > we probably ought to take this patch as a stopgap fix, and see about > doing the better fix for 4.20. 4.21 that is, I guess. I never like such very much, because it's too likely that it'll then be forgotten. Jan