Control: tags -1 + patch Hi Matthias,
On Sun, Jul 30, 2023 at 07:10:09AM +0200, Matthias Klose wrote: > see src/libsanitizer/configure.tgt, it's unsupported, the empty packages > don't hurt. Feel free to send a patch not to build these packages, tested > please for amd64 and i386 builds, plus cross builds targeting these > architectures. Thank you for pointing there. A key insight there is that lsan does not work for 32bit architectures at all. Therefore, we can entirely remove the 32bit lsan multilib packages. Surprisingly, the lib64lsan0 package is already commented, so we don't have to consider that. I've implemented the requested change and performed a local native build on amd64. I've also performed the requested i386 build (though lintian OOMed there). I've not performed cross builds since we know that those are broken. Do you need any artifacts? .debs? build logs? I think the patch is pretty straight forward. Helmut
--- gcc-13-13.1.0/debian/changelog +++ gcc-13-13.1.0/debian/changelog @@ -1,3 +1,10 @@ +gcc-13 (13.1.0-9.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Delete 32bit liblsan packages. (Closes: #1042482) + + -- Helmut Grohne <hel...@subdivi.de> Sun, 30 Jul 2023 10:49:50 +0200 + gcc-13 (13.1.0-9) unstable; urgency=medium * Update to git 20230720 from the gcc-13 branch (13.2 release candidate). --- gcc-13-13.1.0/debian/control +++ gcc-13-13.1.0/debian/control @@ -596,17 +596,6 @@ LeakSanitizer (Lsan) is a memory leak detector which is integrated into AddressSanitizer. -Package: lib32lsan0 -X-DH-Build-For-Type: target -Section: libs -Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el -Priority: optional -Depends: gcc-13-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -Conflicts: ${confl:lib32} -Description: LeakSanitizer -- a memory leak detector (32bit) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer (empty package). - #Package: lib64lsan`'LSAN_SO`'LS #Section: ifdef(`TARGET',`devel',`libs') #Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') @@ -617,26 +606,6 @@ # LeakSanitizer (Lsan) is a memory leak detector which is integrated # into AddressSanitizer. -#Package: libn32lsan`'LSAN_SO`'LS -#Section: ifdef(`TARGET',`devel',`libs') -#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') -#Priority: optional -#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -#BUILT_USING`'dnl -#Description: LeakSanitizer -- a memory leak detector (n32) -# LeakSanitizer (Lsan) is a memory leak detector which is integrated -# into AddressSanitizer. - -Package: libx32lsan0 -X-DH-Build-For-Type: target -Section: libs -Architecture: amd64 i386 -Priority: optional -Depends: gcc-13-base (= ${gcc:Version}), ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -Description: LeakSanitizer -- a memory leak detector (x32) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer (empty package). - Package: libtsan2 X-DH-Build-For-Type: target Section: libs --- gcc-13-13.1.0/debian/control.m4 +++ gcc-13-13.1.0/debian/control.m4 @@ -2094,33 +2094,6 @@ into AddressSanitizer. ')`'dnl libdbg -ifenabled(`lib32lsan',` -Package: lib32lsan`'LSAN_SO`'LS -TARGET_PACKAGE`'dnl -Section: ifdef(`TARGET',`devel',`libs') -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') -Priority: optional -Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -Conflicts: ${confl:lib32} -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (32bit) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer (empty package). - -ifenabled(`libdbg',` -Package: lib32lsan`'LSAN_SO-dbg`'LS -TARGET_PACKAGE`'dnl -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') -Section: debug -Priority: optional -Depends: BASELDEP, libdep(lsan`'LSAN_SO,32,=), ${misc:Depends} -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (32 bit debug symbols) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer (empty package). -')`'dnl libdbg -')`'dnl lib32lsan - ifenabled(`lib64lsan',` #Package: lib64lsan`'LSAN_SO`'LS #Section: ifdef(`TARGET',`devel',`libs') @@ -2144,110 +2117,6 @@ # into AddressSanitizer. ')`'dnl libdbg ')`'dnl lib64lsan - -ifenabled(`libn32lsan',` -#Package: libn32lsan`'LSAN_SO`'LS -#Section: ifdef(`TARGET',`devel',`libs') -#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') -#Priority: optional -#Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -#BUILT_USING`'dnl -#Description: LeakSanitizer -- a memory leak detector (n32) -# LeakSanitizer (Lsan) is a memory leak detector which is integrated -# into AddressSanitizer. - -ifenabled(`libdbg',` -#Package: libn32lsan`'LSAN_SO-dbg`'LS -#Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') -#Section: debug -#Priority: optional -#Depends: BASELDEP, libdep(lsan`'LSAN_SO,n32,=), ${misc:Depends} -#BUILT_USING`'dnl -#Description: LeakSanitizer -- a memory leak detector (n32 debug symbols) -# LeakSanitizer (Lsan) is a memory leak detector which is integrated -# into AddressSanitizer. -')`'dnl libdbg -')`'dnl libn32lsan - -ifenabled(`libx32lsan',` -Package: libx32lsan`'LSAN_SO`'LS -TARGET_PACKAGE`'dnl -Section: ifdef(`TARGET',`devel',`libs') -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') -Priority: optional -Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (x32) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer (empty package). - -ifenabled(`libdbg',` -Package: libx32lsan`'LSAN_SO-dbg`'LS -TARGET_PACKAGE`'dnl -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') -Section: debug -Priority: optional -Depends: BASELDEP, libdep(lsan`'LSAN_SO,x32,=), ${misc:Depends} -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (x32 debug symbols) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer (empty package). -')`'dnl libdbg -')`'dnl libx32lsan - -ifenabled(`libhflsan',` -Package: libhflsan`'LSAN_SO`'LS -TARGET_PACKAGE`'dnl -Section: ifdef(`TARGET',`devel',`libs') -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') -Priority: optional -Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -ifdef(`TARGET',`dnl',`Conflicts: liblsan'LSAN_SO`-armhf [biarchhf_archs]') -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (hard float ABI) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer. - -ifenabled(`libdbg',` -Package: libhflsan`'LSAN_SO-dbg`'LS -TARGET_PACKAGE`'dnl -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') -Section: debug -Priority: optional -Depends: BASELDEP, libdep(lsan`'LSAN_SO,hf,=), ${misc:Depends} -ifdef(`TARGET',`dnl',`Conflicts: liblsan'LSAN_SO`-armel [biarchsf_archs]') -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (hard float ABI debug symbols) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer. -')`'dnl libdbg -')`'dnl libhflsan - -ifenabled(`libsflsan',` -Package: libsflsan`'LSAN_SO`'LS -TARGET_PACKAGE`'dnl -Section: ifdef(`TARGET',`devel',`libs') -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') -Priority: optional -Depends: BASELDEP, ${dep:libcbiarch}, ${shlibs:Depends}, ${misc:Depends} -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (soft float ABI) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer. - -ifenabled(`libdbg',` -Package: libsflsan`'LSAN_SO-dbg`'LS -TARGET_PACKAGE`'dnl -Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') -Section: debug -Priority: optional -Depends: BASELDEP, libdep(lsan`'LSAN_SO,sf,=), ${misc:Depends} -BUILT_USING`'dnl -Description: LeakSanitizer -- a memory leak detector (soft float ABI debug symbols) - LeakSanitizer (Lsan) is a memory leak detector which is integrated - into AddressSanitizer. -')`'dnl libdbg -')`'dnl libsflsan ')`'dnl liblsan ifenabled(`libtsan',` --- gcc-13-13.1.0/debian/rules.conf +++ gcc-13-13.1.0/debian/rules.conf @@ -869,10 +869,7 @@ addons += $(if $(findstring armhf,$(biarchsfarchs)),libsfasan) endif ifeq ($(with_liblsan),yes) - addons += liblsan lib32lsan lib64lsan libn32lsan - addons += $(if $(findstring amd64,$(biarchx32archs)),libx32lsan) - #addons += $(if $(findstring armel,$(biarchhfarchs)),libhflsan) - #addons += $(if $(findstring armhf,$(biarchsfarchs)),libsflsan) + addons += liblsan lib64lsan endif ifeq ($(with_libtsan),yes) addons += libtsan --- gcc-13-13.1.0/debian/rules.d/binary-liblsan.mk +++ gcc-13-13.1.0/debian/rules.d/binary-liblsan.mk @@ -2,21 +2,6 @@ ifeq ($(with_lib64lsan),yes) $(lib_binaries) += lib64lsan endif -ifeq ($(with_lib32lsan),yes) - $(lib_binaries) += lib32lsan -endif -ifeq ($(with_libn32lsan),yes) - $(lib_binaries) += libn32lsan -endif -ifeq ($(with_libx32lsan),yes) - $(lib_binaries) += libx32lsan -endif -ifeq ($(with_libhflsan),yes) - $(lib_binaries) += libhflsan -endif -ifeq ($(with_libsflsan),yes) - $(lib_binaries) += libsflsan -endif define __do_lsan dh_testdir @@ -59,18 +44,3 @@ $(binary_stamp)-lib64lsan: $(install_stamp) $(call do_lsan,64) - -$(binary_stamp)-lib32lsan: $(install_stamp) - $(call do_lsan,32) - -$(binary_stamp)-libn32lsan: $(install_stamp) - $(call do_lsan,n32) - -$(binary_stamp)-libx32lsan: $(install_stamp) - $(call do_lsan,x32) - -$(binary_stamp)-libhflsan: $(install_dependencies) - $(call do_lsan,hf) - -$(binary_stamp)-libsflsan: $(install_dependencies) - $(call do_lsan,sf) --- gcc-13-13.1.0/debian/rules.defs +++ gcc-13-13.1.0/debian/rules.defs @@ -1962,7 +1962,6 @@ with_lib32atomic := no with_lib32backtrace := no with_lib32asan := no - with_lib32lsan := no with_lib32tsan := no with_lib32ubsan := no with_lib32hwasan := no @@ -1987,7 +1986,6 @@ with_libn32atomic := no with_libn32backtrace := no with_libn32asan := no - with_libn32lsan := no with_libn32tsan := no with_libn32ubsan := no with_libn32hwasan := no @@ -2011,7 +2009,6 @@ with_libx32atomic := no with_libx32backtrace := no with_libx32asan := no - with_libx32lsan := no with_libx32tsan := no with_libx32ubsan := no with_libx32hwasan := no @@ -2036,7 +2033,6 @@ with_libhfatomic := no with_libhfbacktrace := no with_libhfasan := no - with_libhflsan := no with_libhftsan := no with_libhfubsan := no with_libhfhwasan := no @@ -2060,7 +2056,6 @@ with_libsfatomic := no with_libsfbacktrace := no with_libsfasan := no - with_libsflsan := no with_libsftsan := no with_libsfubsan := no with_libsfhwasan := no