summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2015-06-09 13:39:59 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2015-06-09 13:39:59 +0000
commitdd6c2f3e5234200986f368e21aa28936e4a095cc (patch)
tree924c31241b993ab4eb6e3b014b2ed69c96f38819
parentb4274356f19a7dc7d615b0b1af1b4a22f3676210 (diff)
downloadgcc-5-dd6c2f3e5234200986f368e21aa28936e4a095cc.tar.gz
* Fix mips 32bit (o32) multilib builds (YunQiang Su).
git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-5@8103 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
-rw-r--r--debian/changelog3
-rw-r--r--debian/patches/cross-biarch.diff9
2 files changed, 8 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index cb0f1fc..bf3d0ed 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,8 +2,9 @@ gcc-5 (5.1.1-10) unstable; urgency=medium
* Make removal of byte-compiled libstdc++ pretty printer files more
robust. Closes: #787630.
+ * Fix mips 32bit (o32) multilib builds (YunQiang Su).
- -- Matthias Klose <doko@debian.org> Wed, 03 Jun 2015 20:18:01 +0200
+ -- Matthias Klose <doko@debian.org> Tue, 09 Jun 2015 15:39:34 +0200
gcc-5 (5.1.1-9) unstable; urgency=medium
diff --git a/debian/patches/cross-biarch.diff b/debian/patches/cross-biarch.diff
index 1843e80..273f54e 100644
--- a/debian/patches/cross-biarch.diff
+++ b/debian/patches/cross-biarch.diff
@@ -2,13 +2,14 @@
--- a/src/config-ml.in
+++ b/src/config-ml.in
-@@ -527,7 +527,12 @@
+@@ -522,7 +522,13 @@ multi-do:
else \
if [ -d ../$${dir}/$${lib} ]; then \
flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
- if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
+ libsuffix_="$${dir}"; \
+ if [ "$${dir}" = "n32" ]; then libsuffix_=32; fi; \
++ if [ -n "$$($${compiler} -v 2>&1 |grep '^Target: mips')" ] && [ "$${dir}" = "32" ]; then libsuffix_=o32; fi; \
+ if (cd ../$${dir}/$${lib}; $(MAKE) $(subst \
+ -B$(build_tooldir)/lib/, \
+ -B$(build_tooldir)/lib$${libsuffix_}/, \
@@ -16,7 +17,7 @@
CFLAGS="$(CFLAGS) $${flags}" \
CCASFLAGS="$(CCASFLAGS) $${flags}" \
FCFLAGS="$(FCFLAGS) $${flags}" \
-@@ -811,6 +816,13 @@
+@@ -777,6 +783,15 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
GOC_=$GOC' '
GDC_=$GDC' '
else
@@ -24,13 +25,15 @@
+ FILTER_="s!X\\(.*\\)!\\1!p"
+ elif [ "${ml_dir}" = "n32" ]; then # mips n32 -> lib32
+ FILTER_="s!X\\(.*\\)/!\\132/!p"
++ elif [ "${ml_dir}" = "32" ] && [ "$(echo ${host} |grep '^mips')" ]; then # mips o32 -> libo32
++ FILTER_="s!X\\(.*\\)/!\\1o32/!p"
+ else
+ FILTER_="s!X\\(.*\\)/!\\1${ml_dir}/!p"
+ fi
# Create a regular expression that matches any string as long
# as ML_POPDIR.
popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'`
-@@ -819,6 +831,8 @@
+@@ -785,6 +800,8 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
case $arg in
-[BIL]"${ML_POPDIR}"/*)
CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;;