Commit d2af65b9 by Rainer Orth Committed by Rainer Orth

i386.c (override_options): Don't accept -mtls-dialect=sun any longer.

	* config/i386/i386.c (override_options): Don't accept
	-mtls-dialect=sun any longer.
	* config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
	* config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
	(*tls_local_dynamic_base_32_sun): Likewise.
	* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.

From-SVN: r157704
parent 1db0ea00
2010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/i386/i386.c (override_options): Don't accept
-mtls-dialect=sun any longer.
* config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
* config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
(*tls_local_dynamic_base_32_sun): Likewise.
* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
2010-03-24 Jakub Jelinek <jakub@redhat.com> 2010-03-24 Jakub Jelinek <jakub@redhat.com>
PR debug/43508 PR debug/43508
......
...@@ -3197,8 +3197,6 @@ override_options (bool main_args_p) ...@@ -3197,8 +3197,6 @@ override_options (bool main_args_p)
ix86_tls_dialect = TLS_DIALECT_GNU; ix86_tls_dialect = TLS_DIALECT_GNU;
else if (strcmp (ix86_tls_dialect_string, "gnu2") == 0) else if (strcmp (ix86_tls_dialect_string, "gnu2") == 0)
ix86_tls_dialect = TLS_DIALECT_GNU2; ix86_tls_dialect = TLS_DIALECT_GNU2;
else if (strcmp (ix86_tls_dialect_string, "sun") == 0)
ix86_tls_dialect = TLS_DIALECT_SUN;
else else
error ("bad value (%s) for %stls-dialect=%s %s", error ("bad value (%s) for %stls-dialect=%s %s",
ix86_tls_dialect_string, prefix, suffix, sw); ix86_tls_dialect_string, prefix, suffix, sw);
......
/* Definitions of target machine for GCC for IA-32. /* Definitions of target machine for GCC for IA-32.
Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -429,7 +429,7 @@ extern int x86_prefetch_sse; ...@@ -429,7 +429,7 @@ extern int x86_prefetch_sse;
#define TARGET_GNU_TLS (ix86_tls_dialect == TLS_DIALECT_GNU) #define TARGET_GNU_TLS (ix86_tls_dialect == TLS_DIALECT_GNU)
#define TARGET_GNU2_TLS (ix86_tls_dialect == TLS_DIALECT_GNU2) #define TARGET_GNU2_TLS (ix86_tls_dialect == TLS_DIALECT_GNU2)
#define TARGET_ANY_GNU_TLS (TARGET_GNU_TLS || TARGET_GNU2_TLS) #define TARGET_ANY_GNU_TLS (TARGET_GNU_TLS || TARGET_GNU2_TLS)
#define TARGET_SUN_TLS (ix86_tls_dialect == TLS_DIALECT_SUN) #define TARGET_SUN_TLS 0
extern int ix86_isa_flags; extern int ix86_isa_flags;
......
;; GCC machine description for IA-32 and x86-64. ;; GCC machine description for IA-32 and x86-64.
;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 ;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
;; Free Software Foundation, Inc. ;; Free Software Foundation, Inc.
;; Mostly by William Schelter. ;; Mostly by William Schelter.
;; x86_64 support added by Jan Hubicka ;; x86_64 support added by Jan Hubicka
...@@ -14495,21 +14495,6 @@ ...@@ -14495,21 +14495,6 @@
[(set_attr "type" "multi") [(set_attr "type" "multi")
(set_attr "length" "12")]) (set_attr "length" "12")])
(define_insn "*tls_global_dynamic_32_sun"
[(set (match_operand:SI 0 "register_operand" "=a")
(unspec:SI [(match_operand:SI 1 "register_operand" "b")
(match_operand:SI 2 "tls_symbolic_operand" "")
(match_operand:SI 3 "call_insn_operand" "")]
UNSPEC_TLS_GD))
(clobber (match_scratch:SI 4 "=d"))
(clobber (match_scratch:SI 5 "=c"))
(clobber (reg:CC FLAGS_REG))]
"!TARGET_64BIT && TARGET_SUN_TLS"
"lea{l}\t{%a2@DTLNDX(%1), %4|%4, %a2@DTLNDX[%1]}
push{l}\t%4\;call\t%a2@TLSPLT\;pop{l}\t%4\;nop"
[(set_attr "type" "multi")
(set_attr "length" "14")])
(define_expand "tls_global_dynamic_32" (define_expand "tls_global_dynamic_32"
[(parallel [(set (match_operand:SI 0 "register_operand" "") [(parallel [(set (match_operand:SI 0 "register_operand" "")
(unspec:SI (unspec:SI
...@@ -14578,20 +14563,6 @@ ...@@ -14578,20 +14563,6 @@
[(set_attr "type" "multi") [(set_attr "type" "multi")
(set_attr "length" "11")]) (set_attr "length" "11")])
(define_insn "*tls_local_dynamic_base_32_sun"
[(set (match_operand:SI 0 "register_operand" "=a")
(unspec:SI [(match_operand:SI 1 "register_operand" "b")
(match_operand:SI 2 "call_insn_operand" "")]
UNSPEC_TLS_LD_BASE))
(clobber (match_scratch:SI 3 "=d"))
(clobber (match_scratch:SI 4 "=c"))
(clobber (reg:CC FLAGS_REG))]
"!TARGET_64BIT && TARGET_SUN_TLS"
"lea{l}\t{%&@TMDNX(%1), %3|%3, %&@TMDNX[%1]}
push{l}\t%3\;call\t%&@TLSPLT\;pop{l}\t%3"
[(set_attr "type" "multi")
(set_attr "length" "13")])
(define_expand "tls_local_dynamic_base_32" (define_expand "tls_local_dynamic_base_32"
[(parallel [(set (match_operand:SI 0 "register_operand" "") [(parallel [(set (match_operand:SI 0 "register_operand" "")
(unspec:SI [(match_dup 1) (match_dup 2)] (unspec:SI [(match_dup 1) (match_dup 2)]
......
...@@ -91,6 +91,11 @@ along with GCC; see the file COPYING3. If not see ...@@ -91,6 +91,11 @@ along with GCC; see the file COPYING3. If not see
} \ } \
} while (0) } while (0)
/* Follow Sun requirements for TLS code sequences and use Sun assembler TLS
syntax. */
#undef TARGET_SUN_TLS
#define TARGET_SUN_TLS 1
/* The Solaris assembler cannot grok .stabd directives. */ /* The Solaris assembler cannot grok .stabd directives. */
#undef NO_DBX_BNSYM_ENSYM #undef NO_DBX_BNSYM_ENSYM
#define NO_DBX_BNSYM_ENSYM 1 #define NO_DBX_BNSYM_ENSYM 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment