Package: gcc-4.3 Version: 4.3.3-5 Severity: wishlist X-Debbugs-CC: debian-sup...@lists.debian.org User: debian-...@superh.org Usertag: sh4
Hi, I am now trying to run Debian on Renesas SH CPU. On SH, not all libgcc functions are provided in shared library, but some are provided in a static library. To do this linking process automatically, libgcc_s.so for SH is a linker script like below. ---- $ cat libgcc_s.so /* GNU ld script Use the shared library, but some functions are only in the static library. */ GROUP(libgcc_s.so.1 libgcc.a) ---- Current debian/rules replaces libgcc_s.so. This processing is not appropriate in SH. It is necessary to perform it as follows. ---- ifeq ($(DEB_HOST_ARCH), sh4) mv $(d)/$(PF)/$(libdir)/libgcc_s.so $(d)/$(gcc_lib_dir)/libgcc_s.so ln -sf /$(libdir)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so.$(GCC_SONAME) else rm -f $(d)/$(PF)/$(libdir)/libgcc_s.so ln -sf /$(libdir)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so endif ---- I made a patch to support SH. Would you please apply it? Best regards, Nobuhiro -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.29-1-amd64 (SMP w/4 CPU cores) Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages gcc-4.3 depends on: ii binutils 2.19.1-1 The GNU assembler, linker and bina ii cpp-4.3 4.3.3-5 The GNU C preprocessor ii gcc-4.3-base 4.3.3-5 The GNU Compiler Collection (base ii libc6 2.9-6 GNU C Library: Shared libraries ii libgcc1 1:4.3.3-5 GCC support library ii libgomp1 4.3.3-5 GCC OpenMP (GOMP) support library Versions of packages gcc-4.3 recommends: ii libc6-dev 2.9-6 GNU C Library: Development Librari Versions of packages gcc-4.3 suggests: pn gcc-4.3-doc <none> (no description available) pn gcc-4.3-locales <none> (no description available) ii gcc-4.3-multilib 4.3.3-5 The GNU C compiler (multilib files pn libgcc1-dbg <none> (no description available) pn libgomp1-dbg <none> (no description available) pn libmudflap0-4.3-dev <none> (no description available) pn libmudflap0-dbg <none> (no description available) -- no debconf information -- Nobuhiro Iwamatsu
diff --git a/debian/rules.d/binary-gcc-cross.mk b/debian/rules.d/binary-gcc-cross.mk index 9081656..20e9139 100644 --- a/debian/rules.d/binary-gcc-cross.mk +++ b/debian/rules.d/binary-gcc-cross.mk @@ -67,8 +67,14 @@ $(binary_stamp)-gcc: $(install_dependencies) rm -rf $(d_gcc) dh_installdirs -p$(p_gcc) $(dirs_gcc) +ifeq ($(DEB_TARGET_ARCH), sh4) + mv $(d)/$(PF)/$(DEB_TARGET_GNU_TYPE)/lib/libgcc_s.so $(d)/$(gcc_lib_dir)/libgcc_s.so + ln -sf /$(PF)/$(DEB_TARGET_GNU_TYPE)/$(libdir)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so.$(GCC_SONAME) +else rm -f $(d)/$(PF)/$(libdir)/libgcc_s.so ln -sf /$(PF)/$(DEB_TARGET_GNU_TYPE)/$(libdir)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so +endif + ifeq ($(biarch64),yes) rm -f $(d)/$(PF)/$(lib64)/libgcc_s.so dh_link -p$(p_gcc) \ diff --git a/debian/rules.d/binary-gcc.mk b/debian/rules.d/binary-gcc.mk index d63a987..da4bed9 100644 --- a/debian/rules.d/binary-gcc.mk +++ b/debian/rules.d/binary-gcc.mk @@ -93,8 +93,13 @@ $(binary_stamp)-gcc: $(install_dependencies) rm -rf $(d_gcc) dh_installdirs -p$(p_gcc) $(dirs_gcc) +ifeq ($(DEB_HOST_ARCH), sh4) + mv $(d)/$(PF)/$(libdir)/libgcc_s.so $(d)/$(gcc_lib_dir)/libgcc_s.so + ln -sf /$(libdir)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so.$(GCC_SONAME) +else rm -f $(d)/$(PF)/$(libdir)/libgcc_s.so ln -sf /$(libdir)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s.so +endif ifeq ($(with_libgmath),yes) rm -f $(d)/$(PF)/$(libdir)/libgcc-math.{la,so}