This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


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

Re: Question: the differences between -mabi=xxx and -32/-64 in the mips gas


H . J . Lu wrote:
> The -mabi=xxx swicth in the mips gas is not ducomented. What are the
> differences between -mabi=xxx and -32/-64, other than there are more
> options with -mabi=xxx?

AFAICS there shouldn't be one. Coincidentally, I've just made this
patch which implies -64 for -mabi=64 and fixes also the handling
of -mabi=64 WRT -mgp{32,64} and -mfp32.


Thiemo


2001-08-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>

	/gas/ChangeLog
	* tc_mips.c (md_parse_option): Remove comment about mips_32bitmode, it
	should be set later if needed. Removed setting of mips_64 for
	OPTION_GP64. Set mips_64 to zero for OPTION_GP32. Let -mabi=64 imply
	-64.


diff -BurpNX /bigdisk/src/binutils-exclude src-orig/gas/config/tc-mips.c src/gas/config/tc-mips.c
--- src-orig/gas/config/tc-mips.c	Sat Aug 18 21:47:23 2001
+++ src/gas/config/tc-mips.c	Tue Aug 21 18:21:49 2001
@@ -9222,31 +9497,15 @@ md_parse_option (c, arg)
     case OPTION_GP32:
       mips_gp32 = 1;
       mips_64 = 0;
-
-      /* We deliberately don't allow "-gp32" to set the MIPS_32BITMODE
-	 flag in object files because to do so would make it
-	 impossible to link with libraries compiled without "-gp32".
-	 This is unnecessarily restrictive.
-
-	 We could solve this problem by adding "-gp32" multilibs to
-	 gcc, but to set this flag before gcc is built with such
-	 multilibs will break too many systems.  */
-
-#if 0
-      mips_32bitmode = 1;
-#endif
       break;
 
     case OPTION_GP64:
       mips_gp32 = 0;
-      mips_64 = 1;
-#if 0
-      mips_32bitmode = 0;
-#endif
       break;
 
     case OPTION_FP32:
       mips_fp32 = 1;
+      mips_64 = 0;
       break;
 
     case OPTION_MABI:
@@ -9258,6 +9517,7 @@ md_parse_option (c, arg)
 	{
 	  mips_abi_string = arg;
 	  mips_32bit_abi = (strcmp (arg, "32") == 0);
+	  mips_64 = (strcmp (arg, "64") == 0);
 	}
       break;
 


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