Bug#532264: gcc-4.3: Support for Renesas SuperH (SH4)
Package: gcc-4.3
Version: 4.3.3-5
Severity: wishlist
X-Debbugs-CC: debian-superh@lists.debian.org
User: debian-sh4@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}
Reply to: