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

Reply via email to