On 11.08.2024 11:24, Bernhard Übelacker wrote: > On Wed, 24 Jul 2024 12:50:23 +0200 Santiago Vila <sanv...@debian.org> wrote: >> Package: src:win32-loader >> Version: 0.10.6 >> Severity: serious >> Tags: ftbfs > >> During a rebuild of all packages in unstable, your package failed to build: > >> i686-w64-mingw32-as --defsym IMAGE_BASE=0x400000 -march=i486 -o instdlg.o >> /<<PKGBUILDDIR>>/helpers/instdlg/instdlg.s >> /<<PKGBUILDDIR>>/helpers/instdlg/instdlg.s: Assembler messages: >> /<<PKGBUILDDIR>>/helpers/instdlg/instdlg.s:161: Warning: end of file in >> string; '"' inserted >> /<<PKGBUILDDIR>>/helpers/instdlg/instdlg.s:94: Info: macro invoked from >> here >> /<<PKGBUILDDIR>>/helpers/instdlg/instdlg.s:161: Info: macro invoked from >> here > >> makensis -V3 "-XUnicode True" -DVERSION=0.10.6 >> -D4DIGITS_DATE=2022.03.21.2258 >> -D_OUTFILE_NAME=build/win32-loader_0.10.6_all.exe -DBUILD_DIR=build >> -DNOCD=yes -DPXE=yes -DNOCD=yes -DOPTIONS_TXT="+net +pxe" main.nsi >> MakeNSIS v3.10-2 - Copyright 1999-2023 Contributors >> See the file COPYING for license details. >> Credits can be found in the Users Manual. >> >> Command line defined: "VERSION=0.10.6" >> Command line defined: "4DIGITS_DATE=2022.03.21.2258" >> Command line defined: "_OUTFILE_NAME=build/win32-loader_0.10.6_all.exe" >> Command line defined: "BUILD_DIR=build" >> Command line defined: "NOCD=yes" >> Command line defined: "PXE=yes" >> Command line defined: "NOCD=yes" >> Command line defined: "OPTIONS_TXT=+net +pxe" >> Processing config: /etc/nsisconf.nsh >> Processing script file: "main.nsi" (UTF8) >> Error: Can't find IDC_LIST1 (1016) in the custom UI! >> !include: error in script: "download.nsi" on line 42 >> Error in script "main.nsi" on line 127 -- aborting creation process > > > > > Dear Maintainer, > I tried to have a look at this failure. > > It looks like makensis is failing to manipulate > an executable build/helpers/instdlg/instdlg.exe. > This seems to happen because the layout/content > of instdlg.o is different than expected. > The object instdlg.o get generated from helpers/instdlg/instdlg.s. > > It starts to get visible since binutils-mingw-w64-i686 > migrated into Trixie/testing at 2024-07-08. > > I did a git-bisect of sourceware.org/git/binutils-gdb.git and > found below commit [1] to be the first which shows this different behaviour. > > The file instdlg.s also uses nested macros with string parameters [3]. > This looks like it should generate UTF16 wide strings in the object file. > And since the new gas version there are plenty of warnings related to it > visible. > > The layout of the generated binary instdlg.o is with the new version > different [2], and I assume therefore nsis is failing. > > > But I am not completely sure if the generated instdlg.o > is valid and expected, and nsis needs to be able to handle it. > Or GNU assembler should really generate object files in the old layout?
Yes, that's a bug I introduced: Empty strings aren't handled correctly. I'm in the process of testing a fix. Ideally it'll then make 2.43.1. Jan