Control: reassign -1 gcc-4.9 On Tue, 01 May 2012 14:01:19 +0200 Matthias Klose <d...@debian.org> wrote: > clone 631427 -1 > reassign -1 debhelper > retitle -1 dh_strip should handle both host and target objects > thanks > > On 23.06.2011 21:17, Adam Borowski wrote: > > Package: src:gcc-4.6 > > Version: 4.6.0-14 > > Severity: normal > > > > Hi! > > > > When building a cross compiler, there are two problems: > > > > 1. hardcoded use of gcc-4.4 without a declared build-dependency. > > now uses gcc. You can't always rely on newer gcc versions for non primary or > non > secondary architectures. > > > 2. dh_strip is used both on objects for the build and host arch. This does > > not work. You'd need to either: > > a) call either native or cross strip appropriately > > b) build-depend on binutils-multiarch > > c) Loic Minier suggested there is some way to force dh_strip to do a), > > although for whatever reason it doesn't work in current unstable > > these packages can contain both code for the host and the target. dh_strip > should either provide a way to handle these automatically, or accept an option > for the strip binary to use (and then -X could be used to not strip some > objects). > >
dh_strip can do it now with setting DEB_HOST_GNU_TYPE The attached patch can fix this bug. >
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-d.mk gcc-4.9-4.9.1/debian/rules.d/binary-d.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-d.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-d.mk @@ -117,7 +117,7 @@ debian/dh_doclink -p$(p_libphobos) $(p_base) endif - dh_strip -p$(p_libphobos) + $(cross_strip) dh_strip -p$(p_libphobos) dh_compress -p$(p_libphobos) dh_fixperms -p$(p_libphobos) dh_shlibdeps -p$(p_libphobos) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk @@ -97,7 +97,7 @@ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) @@ -137,7 +137,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_rmemptydirs -p$(p_l) - dh_strip -p$(p_l) + $(cross_strip) dh_strip -p$(p_l) dh_compress -p$(p_l) dh_fixperms -p$(p_l) $(cross_shlibdeps) dh_shlibdeps -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-go.mk gcc-4.9-4.9.1/debian/rules.d/binary-go.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-go.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-go.mk @@ -101,7 +101,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_doclink -p$(p_d) $(p_base) - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk @@ -35,7 +35,7 @@ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk @@ -30,7 +30,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_doclink -p$(p_d) $(p_base) - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk @@ -35,7 +35,7 @@ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk @@ -157,7 +157,7 @@ debian/dh_doclink -p$(2) $(p_base) debian/dh_rmemptydirs -p$(2) - dh_strip -p$(2) + $(cross_strip) $(cross_strip) dh_strip -p$(2) dh_compress -p$(2) $(cross_shlibdeps) dh_shlibdeps -p$(2) $(call cross_mangle_substvars,$(2)) @@ -285,7 +285,7 @@ debian/dh_doclink -p$(p_d) $(if $(3),$(3),$(p_base)) debian/dh_rmemptydirs -p$(p_l) debian/dh_rmemptydirs -p$(p_d) - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) # see Debian #533843 for the __aeabi symbol handling; this construct is # just to include the symbols for dpkg versions older than 1.15.3 which diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk @@ -30,7 +30,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_doclink -p$(p_d) $(p_base) - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk @@ -30,7 +30,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_doclink -p$(p_d) $(p_base) - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk @@ -35,7 +35,7 @@ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk @@ -65,7 +65,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_doclink -p$(p_d) $(p_base) - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) -Xlibobjc_gc.so diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk @@ -30,7 +30,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_doclink -p$(p_d) $(p_base) - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk @@ -200,7 +200,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_rmemptydirs -p$(p_l) - dh_strip -p$(p_l) --dbg-package=$(1)-$(BASE_VERSION)-dbg$(cross_lib_arch) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(1)-$(BASE_VERSION)-dbg$(cross_lib_arch) dh_compress -p$(p_l) dh_fixperms -p$(p_l) @@ -237,7 +237,7 @@ $(if $(filter yes,$(with_lib$(2)cxx)), cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \ $(d_d)/$(usr_lib$(2))/.; - dh_strip -p$(p_d) --keep-debug; + $(cross_strip) dh_strip -p$(p_d) --keep-debug; $(if $(filter yes,$(with_common_libs)),, # if !with_common_libs # remove the debug symbols for libstdc++ # built by a newer version of GCC @@ -291,7 +291,7 @@ debian/dh_doclink -p$(p_l) $(p_base) debian/dh_rmemptydirs -p$(p_l) - dh_strip -p$(p_l) + $(cross_strip) dh_strip -p$(p_l) dh_compress -p$(p_l) dh_fixperms -p$(p_l) dh_shlibdeps -p$(p_l) @@ -436,7 +436,7 @@ ifeq ($(with_libcxx),yes) cp -a $(d)/$(usr_lib)/libstdc++.so.*[0-9] \ $(d_dbg)/$(usr_lib)/ - dh_strip -p$(p_dbg) --keep-debug + $(cross_strip) dh_strip -p$(p_dbg) --keep-debug rm -f $(d_dbg)/$(usr_lib)/libstdc++.so.*[0-9] endif diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk @@ -37,7 +37,7 @@ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk @@ -35,7 +35,7 @@ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk --- gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk +++ gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk @@ -35,7 +35,7 @@ cp debian/$(p_l).overrides debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \ fi - dh_strip -p$(p_l) --dbg-package=$(p_d) + $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d) dh_compress -p$(p_l) -p$(p_d) dh_fixperms -p$(p_l) -p$(p_d) $(cross_makeshlibs) dh_makeshlibs -p$(p_l) diff -u gcc-4.9-4.9.1/debian/rules.defs gcc-4.9-4.9.1/debian/rules.defs --- gcc-4.9-4.9.1/debian/rules.defs +++ gcc-4.9-4.9.1/debian/rules.defs @@ -199,6 +199,7 @@ lib_binaries := indep_binaries cross_shlibdeps = DEB_HOST_ARCH=$(TARGET) ARCH=$(DEB_TARGET_ARCH) MAKEFLAGS="CC=something" + cross_strip = DEB_HOST_GNU_TYPE=$(DEB_TARGET_GNU_TYPE) cross_gencontrol = DEB_HOST_ARCH=$(TARGET) cross_makeshlibs = DEB_HOST_ARCH=$(TARGET) cross_clean = DEB_HOST_ARCH=$(TARGET)