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: