On Wednesday 27 January 2010, Frans Pop wrote: > Please consider the attached patch which adds a udeb for libgcc1 > containing only libgcc_s.so.1.
In case we do decide on inclusion in gcc, here is an updated patch for 4.4 and the additional patch for 4.5. Changes: - added libgcc[246] udebs for m68k/hppa - the udeb should not be cross-built, so I removed the bits in the control.m4 file that IIUC are to enable that I've successfully tested the patches for standard builds: - gcc-4.4 for amd64 and hppa; - gcc-4.5 for amd64.
diff -u gcc-4.4-4.4.3/debian/control.m4 gcc-4.4-4.4.3/debian/control.m4 --- gcc-4.4-4.4.3/debian/control.m4 +++ gcc-4.4-4.4.3/debian/control.m4 @@ -188,6 +188,14 @@ environment. ')`'dnl +Package: libgcc1-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: libgcc2`'LS Architecture: ifdef(`TARGET',`all',`m68k') Section: ifdef(`TARGET',`devel',`libs') @@ -217,6 +225,14 @@ This package contains files for TARGET architecture, for use in cross-compile environment. ')`'dnl + +Package: libgcc2-udeb +XC-Package-Type: udeb +Architecture: m68k +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library ')`'dnl libgcc ifenabled(`lib4gcc',` @@ -247,6 +263,14 @@ This package contains files for TARGET architecture, for use in cross-compile environment. ')`'dnl + +Package: libgcc4-udeb +XC-Package-Type: udeb +Architecture: hppa +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library ')`'dnl lib4gcc ifenabled(`lib64gcc',` diff -u gcc-4.4-4.4.3/debian/control gcc-4.4-4.4.3/debian/control --- gcc-4.4-4.4.3/debian/control +++ gcc-4.4-4.4.3/debian/control @@ -36,6 +36,14 @@ Description: GCC support library (debug symbols) Debug symbols for the GCC support library. +Package: libgcc1-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: libgcc2 Architecture: m68k Section: libs @@ -54,6 +62,14 @@ Description: GCC support library (debug symbols) Debug symbols for the GCC support library. +Package: libgcc2-udeb +XC-Package-Type: udeb +Architecture: m68k +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: libgcc4 Architecture: hppa Section: libs @@ -72,6 +88,14 @@ Description: GCC support library (debug symbols) Debug symbols for the GCC support library. +Package: libgcc4-udeb +XC-Package-Type: udeb +Architecture: hppa +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: lib64gcc1 Architecture: i386 powerpc sparc s390 mips mipsel Section: libs diff -u gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk --- gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk +++ gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk @@ -14,8 +14,10 @@ p_lgcc = libgcc$(GCC_SONAME) p_lgccdbg = libgcc$(GCC_SONAME)-dbg +p_lgccudeb = libgcc$(GCC_SONAME)-udeb d_lgcc = debian/$(p_lgcc) d_lgccdbg = debian/$(p_lgccdbg) +d_lgccudeb = debian/$(p_lgccudeb) p_l32gcc = lib32gcc$(GCC_SONAME) p_l32gccdbg = lib32gcc$(GCC_SONAME)-dbg @@ -42,7 +44,10 @@ dh_installdirs -p$(p_lgcc) \ $(docdir)/$(p_lgcc) \ $(libdir) - + dh_installdirs -p$(p_lgccudeb) \ + $(libdir) + + cp $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgccudeb)/$(libdir)/. ifeq ($(with_shared_libgcc),yes) mv $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgcc)/$(libdir)/. endif @@ -57,8 +62,9 @@ debian/dh_rmemptydirs -p$(p_lgcc) debian/dh_rmemptydirs -p$(p_lgccdbg) dh_strip -v -p$(p_lgcc) --dbg-package=$(p_lgccdbg) - dh_compress -p$(p_lgcc) -p$(p_lgccdbg) - dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg) + dh_strip -v -p$(p_lgccudeb) + dh_compress -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) + dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) ifeq ($(with_shared_libgcc),yes) dh_makeshlibs -p$(p_lgcc) -V '$(p_lgcc) (>= $(DEB_LIBGCC_SOVERSION))' \ -- -v$(DEB_LIBGCC_VERSION) @@ -68,17 +74,17 @@ endif cat debian/$(p_lgcc)/DEBIAN/shlibs >> debian/shlibs.local endif - dh_shlibdeps -p$(p_lgcc) - dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) \ + dh_shlibdeps -p$(p_lgcc) -p$(p_lgccudeb) + dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) \ -- -v$(DEB_LIBGCC_VERSION) $(common_substvars) mkdir -p $(d_lgcc)/usr/share/lintian/overrides echo '$(p_lgcc): package-name-doesnt-match-sonames' \ > $(d_lgcc)/usr/share/lintian/overrides/$(p_lgcc) - dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg) - dh_md5sums -p$(p_lgcc) -p$(p_lgccdbg) - dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg) + dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) + dh_md5sums -p$(p_lgcc) -p$(p_lgccudeb) + dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
diff -u gcc-4.5-4.5-20100103/debian/control.m4 gcc-4.5-4.5-20100103/debian/control.m4 --- gcc-4.5-4.5-20100103/debian/control.m4 +++ gcc-4.5-4.5-20100103/debian/control.m4 @@ -186,6 +186,14 @@ environment. ')`'dnl +Package: libgcc1-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: libgcc2`'LS Architecture: ifdef(`TARGET',`all',`m68k') Section: ifdef(`TARGET',`devel',`libs') @@ -215,6 +223,14 @@ This package contains files for TARGET architecture, for use in cross-compile environment. ')`'dnl + +Package: libgcc2-udeb +XC-Package-Type: udeb +Architecture: m68k +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library ')`'dnl libgcc ifenabled(`lib6gcc',` @@ -245,6 +261,14 @@ This package contains files for TARGET architecture, for use in cross-compile environment. ')`'dnl + +Package: libgcc6-udeb +XC-Package-Type: udeb +Architecture: hppa +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library ')`'dnl lib6gcc ifenabled(`lib64gcc',` diff -u gcc-4.5-4.5-20100103/debian/control gcc-4.5-4.5-20100103/debian/control --- gcc-4.5-4.5-20100103/debian/control +++ gcc-4.5-4.5-20100103/debian/control @@ -43,6 +43,14 @@ Description: GCC support library (debug symbols) Debug symbols for the GCC support library. +Package: libgcc1-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: libgcc2 Architecture: m68k Section: libs @@ -61,6 +69,14 @@ Description: GCC support library (debug symbols) Debug symbols for the GCC support library. +Package: libgcc2-udeb +XC-Package-Type: udeb +Architecture: m68k +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: libgcc6 Architecture: hppa Section: libs @@ -79,6 +95,14 @@ Description: GCC support library (debug symbols) Debug symbols for the GCC support library. +Package: libgcc6-udeb +XC-Package-Type: udeb +Architecture: hppa +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: GCC support library + Package: lib64gcc1 Architecture: i386 powerpc sparc s390 mips mipsel Section: libs diff -u gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk --- gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk +++ gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk @@ -14,8 +14,10 @@ p_lgcc = libgcc$(GCC_SONAME) p_lgccdbg = libgcc$(GCC_SONAME)-dbg +p_lgccudeb = libgcc$(GCC_SONAME)-udeb d_lgcc = debian/$(p_lgcc) d_lgccdbg = debian/$(p_lgccdbg) +d_lgccudeb = debian/$(p_lgccudeb) p_l32gcc = lib32gcc$(GCC_SONAME) p_l32gccdbg = lib32gcc$(GCC_SONAME)-dbg @@ -42,7 +44,10 @@ dh_installdirs -p$(p_lgcc) \ $(docdir)/$(p_lgcc) \ $(libdir) - + dh_installdirs -p$(p_lgccudeb) \ + $(libdir) + + cp $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgccudeb)/$(libdir)/. ifeq ($(with_shared_libgcc),yes) mv $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgcc)/$(libdir)/. endif @@ -57,8 +62,9 @@ debian/dh_rmemptydirs -p$(p_lgcc) debian/dh_rmemptydirs -p$(p_lgccdbg) dh_strip -v -p$(p_lgcc) --dbg-package=$(p_lgccdbg) - dh_compress -p$(p_lgcc) -p$(p_lgccdbg) - dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg) + dh_strip -v -p$(p_lgccudeb) + dh_compress -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) + dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) ifeq ($(with_shared_libgcc),yes) dh_makeshlibs -p$(p_lgcc) -V '$(p_lgcc) (>= $(DEB_LIBGCC_SOVERSION))' \ -- -v$(DEB_LIBGCC_VERSION) @@ -68,17 +74,17 @@ endif cat debian/$(p_lgcc)/DEBIAN/shlibs >> debian/shlibs.local endif - dh_shlibdeps -p$(p_lgcc) - dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) \ + dh_shlibdeps -p$(p_lgcc) -p$(p_lgccudeb) + dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) \ -- -v$(DEB_LIBGCC_VERSION) $(common_substvars) mkdir -p $(d_lgcc)/usr/share/lintian/overrides echo '$(p_lgcc): package-name-doesnt-match-sonames' \ > $(d_lgcc)/usr/share/lintian/overrides/$(p_lgcc) - dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg) - dh_md5sums -p$(p_lgcc) -p$(p_lgccdbg) - dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg) + dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) + dh_md5sums -p$(p_lgcc) -p$(p_lgccudeb) + dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)