summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2011-11-12 23:56:04 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2011-11-12 23:56:04 +0100
commit2f39e56def6dadf0746b6e96e756518f1af9396b (patch)
tree63a182b2ad91f6cc576593e49101f779ce28698f
parent93e6000b49f03ddf5a7046d325675ab43f58980b (diff)
Reintroduce gcc patch to use /lib/ld.so.1 for N32; fix gcc-libs install.
-rw-r--r--core/gcc/PKGBUILD4
-rw-r--r--core/gcc/gcc-libs.install4
-rw-r--r--core/gcc/gcc_mips64el_lib.patch25
3 files changed, 31 insertions, 2 deletions
diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD
index 5f7bd912f..5776d723d 100644
--- a/core/gcc/PKGBUILD
+++ b/core/gcc/PKGBUILD
@@ -28,10 +28,12 @@ source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
#ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
gcc_pure64.patch
+ gcc_mips64el_lib.patch
gcc-hash-style-both.patch)
md5sums=('028115c4fbfb6cfd75d6369f4a90d87e'
'ce920d2550ff7e042b9f091d27764d8f'
'4030ee1c08dd1e843c0225b772360e76'
+ '67e337993d821d72fccacbed52d48c34'
'4df25b623799b148a0703eaeec8fdf3f')
if [ -n "${_snapshot}" ]; then
@@ -51,6 +53,8 @@ build() {
if [ "${CARCH}" = "x86_64" ]; then
patch -Np1 -i ${srcdir}/gcc_pure64.patch
+ elif [ "${CARCH}" = "mips64el" ]; then
+ patch -Np0 -i ${srcdir}/gcc_mips64el_lib.patch
fi
patch -Np0 -i ${srcdir}/gcc-hash-style-both.patch
diff --git a/core/gcc/gcc-libs.install b/core/gcc/gcc-libs.install
index 23553b8f0..a880434ae 100644
--- a/core/gcc/gcc-libs.install
+++ b/core/gcc/gcc-libs.install
@@ -4,13 +4,13 @@ filelist=(libgomp.info libquadmath.info)
post_upgrade() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ [ -f $infodir/$file.gz ] && install-info $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
pre_remove() {
[ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ [ -f $infodir/$file.gz ] && install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
done
}
diff --git a/core/gcc/gcc_mips64el_lib.patch b/core/gcc/gcc_mips64el_lib.patch
new file mode 100644
index 000000000..425758e88
--- /dev/null
+++ b/core/gcc/gcc_mips64el_lib.patch
@@ -0,0 +1,25 @@
+--- gcc/config/mips/t-linux64.orig 2011-04-09 20:28:51.729723495 -0300
++++ gcc/config/mips/t-linux64 2011-04-09 20:29:06.913724013 -0300
+@@ -18,7 +18,7 @@
+
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+ MULTILIB_DIRNAMES = n32 32 64
+-MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
++MULTILIB_OSDIRNAMES = ../lib ../lib32 ../lib64
+
+ EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+
+--- gcc/config/mips/linux64.h.orig 2011-04-09 20:27:06.909723735 -0300
++++ gcc/config/mips/linux64.h 2011-04-09 20:28:16.033723803 -0300
+@@ -35,9 +35,9 @@
+ %{!shared: \
+ %{profile:-lc_p} %{!profile:-lc}}"
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
+-#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
++#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1"
+ #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+ #define LINUX_DYNAMIC_LINKERN32 \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)