Patchwork [ARM] TLS Descriptor support

login
register
mail settings
Submitter Nathan Sidwell
Date June 22, 2011, 5:03 p.m.
Message ID <4E022052.7020901@codesourcery.com>
Download mbox | patch
Permalink /patch/101516/
State New
Headers show

Comments

Nathan Sidwell - June 22, 2011, 5:03 p.m.
On 06/21/11 18:24, Ramana Radhakrishnan wrote:
>> revalidated with defaults to both gnu and gnu2 style. ok?
>
> This is OK .

sigh, in backporting the relevant bits, I noticed a problem with the 
OPTION_DEFAULT_SPECS string, fixed thusly, committed as obvious.  And then I 
noticed I'd failed to commit the config.gcc fragment.

Back of the class for me today :(

nathan

Patch

Index: config.gcc
===================================================================
--- config.gcc	(revision 175297)
+++ config.gcc	(working copy)
@@ -863,6 +863,7 @@ 
 	    tmake_file="$tmake_file arm/t-linux"
 	    ;;
 	esac
+	with_tls=${with_tls:-gnu}
 	tm_file="$tm_file arm/aout.h arm/arm.h"
 	tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
 	;;
@@ -3039,7 +3040,7 @@ 
 		;;
 
 	arm*-*-*)
-		supported_defaults="arch cpu float tune fpu abi mode"
+		supported_defaults="arch cpu float tune fpu abi mode tls"
 		for which in cpu tune; do
 			# See if it matches any of the entries in arm-cores.def
 			eval "val=\$with_$which"
@@ -3122,6 +3123,17 @@ 
 			;;
 		esac
 
+		case "$with_tls" in
+		"" \
+		| gnu | gnu2)
+			# OK
+			;;
+		*)
+			echo "Unknown TLS method used in --with-tls=$with_tls" 1>&2
+			exit 1
+			;;
+		esac
+
 		if test "x$with_arch" != x && test "x$with_cpu" != x; then
 			echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2
 		fi
@@ -3601,7 +3613,7 @@ 
 esac
 
 t=
-all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu divide llsc mips-plt synci"
+all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu divide llsc mips-plt synci tls"
 for option in $all_defaults
 do
 	eval "val=\$with_"`echo $option | sed s/-/_/g`
Index: config/arm/arm.h
===================================================================
--- config/arm/arm.h	(revision 175297)
+++ config/arm/arm.h	(working copy)
@@ -324,7 +324,7 @@ 
   {"fpu", "%{!mfpu=*:-mfpu=%(VALUE)}"}, \
   {"abi", "%{!mabi=*:-mabi=%(VALUE)}"}, \
   {"mode", "%{!marm:%{!mthumb:-m%(VALUE)}}"}, \
-  {"tls", "%{!mtls-dialect:-mtls-dialect=%(VALUE)}"},
+  {"tls", "%{!mtls-dialect=*:-mtls-dialect=%(VALUE)}"},
 
 /* Which floating point model to use.  */
 enum arm_fp_model