This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 4 of 5] libc/uClibc: use the MIPS ABI selection


# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1284322512 -7200
# Node ID f5de4d088dc9fb25fbf238ec3d1e0fa098c02636
# Parent  034de6dca38f1c48fe296c871b2ce53d1c4dc35c
libc/uClibc: use the MIPS ABI selection

Use the MIPS ABI selection to properly munge the uClibc config file.

This has the side effect to force the ISA:
- n32 ABI -> MIPS-III ISA
- n64 ABI -> MIPS64 ISA

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh
--- a/scripts/build/libc/uClibc.sh
+++ b/scripts/build/libc/uClibc.sh
@@ -297,6 +297,40 @@
 					ENDSED
             fi
             ;;
+        mips)
+            case "${CT_ARCH_mips_ABI}" in
+                32)
+                    cat <<-ENDSED
+						s/.*(CONFIG_MIPS_O32_ABI).*/\\1=y/
+						s/.*(CONFIG_MIPS_N32_ABI).*/# \\1 is not set/
+						s/.*(CONFIG_MIPS_N64_ABI).*/# \\1 is not set/
+						ENDSED
+                    ;;
+                # For n32 and n64, also force the ISA
+                # Not so sure this is pertinent, so it's
+                # commented out for now. It would take a
+                # (MIPS+uClibc) expert to either remove
+                # or re-enable the overrides.
+                n32)
+                    cat <<-ENDSED
+						s/.*(CONFIG_MIPS_O32_ABI).*/# \\1 is not set/
+						s/.*(CONFIG_MIPS_N32_ABI).*/\\1=y/
+						s/.*(CONFIG_MIPS_N64_ABI).*/# \\1 is not set/
+						s/.*(CONFIG_MIPS_ISA_.*).*/# \\1 is not set/
+						s/.*(CONFIG_MIPS_ISA_3).*/\\1=y/
+						ENDSED
+                    ;;
+                64)
+                    cat <<-ENDSED
+						s/.*(CONFIG_MIPS_O32_ABI).*/# \\1 is not set/
+						s/.*(CONFIG_MIPS_N32_ABI).*/# \\1 is not set/
+						s/.*(CONFIG_MIPS_N64_ABI).*/\\1=y/
+						s/.*(CONFIG_MIPS_ISA_.*).*/# \\1 is not set/
+						s/.*(CONFIG_MIPS_ISA_MIPS64).*/\\1=y/
+						ENDSED
+                    ;;
+            esac
+            ;;
     esac
 
     # Accomodate for old and new uClibc versions, where the



--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]