[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#601419: libc6: please build a loongson-2f optimized library



Package: libc6
Version: 2.11.2-6
Severity: wishlist
Tags: patch

Please could you build a loongson-2f optimized library?

A (tested) patch is attached.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: mipsel (mips64)

Kernel: Linux 2.6.35.7-libre2-lemote (PREEMPT)
Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libc6 depends on:
ii  libc-bin                      2.11.2-6   Embedded GNU C Library: Binaries
ii  libgcc1                       1:4.4.5-2  GCC support library

libc6 recommends no packages.

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]         1.5.35     Debian configuration management sy
pn  glibc-doc                     <none>     (no description available)
ii  locales                       2.11.2-6   Embedded GNU C Library: National L

-- debconf information excluded
diff -ur -x control eglibc-2.11.2/debian/control.in/opt eglibc-2.11.2.new/debian/control.in/opt
--- eglibc-2.11.2/debian/control.in/opt	2010-10-22 14:13:56.000000000 +0200
+++ eglibc-2.11.2.new/debian/control.in/opt	2010-10-20 11:58:09.000000000 +0200
@@ -107,3 +107,18 @@
  needs to be installed on Alpha EV67/68 and EV7 machines. If you install
  this on an older machine, it won't even be used.
 
+Package: libc6-loongson-2f
+Architecture: mipsel
+Section: libs
+Priority: extra
+Pre-Depends: libc6 (= ${binary:Version})
+Depends: ${misc:Depends}
+Description: Embedded GNU C Library: Shared libraries [Loongson 2F optimized]
+ Contains the standard libraries that are used by nearly all programs on
+ the system. This package includes shared versions of the standard C
+ library and the standard math library, as well as many others.
+ .
+ This set of libraries is optimized for the Loongson 2F. It only
+ needs to be installed on Lemote Loongson 2F machines. If you install
+ this on a non-Loongson, it won't even be used.
+
diff -ur -x control eglibc-2.11.2/debian/script.in/nohwcap.sh eglibc-2.11.2.new/debian/script.in/nohwcap.sh
--- eglibc-2.11.2/debian/script.in/nohwcap.sh	2010-10-22 14:13:56.000000000 +0200
+++ eglibc-2.11.2.new/debian/script.in/nohwcap.sh	2010-10-20 11:58:09.000000000 +0200
@@ -16,6 +16,9 @@
         kfreebsd-i386)
             hwcappkgs="libc0.1-i686"
             ;;
+        mipsel)
+	    hwcappkgs="libc6-loongson-2f"
+	    ;;
         sparc)
             hwcappkgs="libc6-sparcv9 libc6-sparcv9b"
             ;;
diff -ur -x control eglibc-2.11.2/debian/sysdeps/mipsel.mk eglibc-2.11.2.new/debian/sysdeps/mipsel.mk
--- eglibc-2.11.2/debian/sysdeps/mipsel.mk	2010-10-22 14:13:56.000000000 +0200
+++ eglibc-2.11.2.new/debian/sysdeps/mipsel.mk	2010-10-21 12:50:06.000000000 +0200
@@ -24,6 +24,18 @@
 mips64_libdir = /usr/lib64
 mips64_extra_config_options := $(extra_config_options) --disable-profile
 
+# build a loongson-2f optimized library
+EGLIBC_PASSES += loongson-2f
+DEB_ARCH_REGULAR_PACKAGES += libc6-loongson-2f
+loongson-2f_add-ons = ports nptl $(add-ons)
+loongson-2f_configure_target = mips32el-linux-gnu
+loongson-2f_CC = $(CC) -mabi=32
+loongson-2f_CXX = $(CXX) -mabi=32
+loongson-2f_extra_cflags = -march=loongson2f -mtune=loongson2f -O2
+loongson-2f_extra_config_options = $(extra_config_options) --disable-profile
+loongson-2f_rtlddir = /lib
+loongson-2f_slibdir = /lib/loongson-2f
+
 # Need to put a tri-arch aware version of ldd in the base package
 define mipsn32_extra_install
 cp debian/tmp-mipsn32/usr/bin/ldd debian/tmp-libc/usr/bin

Reply to: