diff options
| author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-24 18:31:07 +0000 |
|---|---|---|
| committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-24 18:31:07 +0000 |
| commit | cf4f27b5da0da3f24fd7d288f9668a0720a1e7b7 (patch) | |
| tree | 82b8153b18de7e1ad4296f40b025b31046788416 | |
| parent | 3a8605c125e417d471b903c344a304e750bea512 (diff) | |
| download | ppe42-gcc-cf4f27b5da0da3f24fd7d288f9668a0720a1e7b7.tar.gz ppe42-gcc-cf4f27b5da0da3f24fd7d288f9668a0720a1e7b7.zip | |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157704 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 9 | ||||
| -rw-r--r-- | gcc/config/i386/i386.c | 2 | ||||
| -rw-r--r-- | gcc/config/i386/i386.h | 4 | ||||
| -rw-r--r-- | gcc/config/i386/i386.md | 31 | ||||
| -rw-r--r-- | gcc/config/i386/sol2.h | 5 |
5 files changed, 17 insertions, 34 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2f7cb9d40dd..1bbb9d8f9d8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +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> PR debug/43508 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index f6a1346c7ff..2179b5a1fb0 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3197,8 +3197,6 @@ override_options (bool main_args_p) ix86_tls_dialect = TLS_DIALECT_GNU; else if (strcmp (ix86_tls_dialect_string, "gnu2") == 0) ix86_tls_dialect = TLS_DIALECT_GNU2; - else if (strcmp (ix86_tls_dialect_string, "sun") == 0) - ix86_tls_dialect = TLS_DIALECT_SUN; else error ("bad value (%s) for %stls-dialect=%s %s", ix86_tls_dialect_string, prefix, suffix, sw); diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index fa94091930e..521e2feb4f0 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GCC for IA-32. 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. This file is part of GCC. @@ -429,7 +429,7 @@ extern int x86_prefetch_sse; #define TARGET_GNU_TLS (ix86_tls_dialect == TLS_DIALECT_GNU) #define TARGET_GNU2_TLS (ix86_tls_dialect == TLS_DIALECT_GNU2) #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; diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 924433f88a4..da28f1cc840 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1,6 +1,6 @@ ;; GCC machine description for IA-32 and x86-64. ;; 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. ;; Mostly by William Schelter. ;; x86_64 support added by Jan Hubicka @@ -14495,21 +14495,6 @@ [(set_attr "type" "multi") (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" [(parallel [(set (match_operand:SI 0 "register_operand" "") (unspec:SI @@ -14578,20 +14563,6 @@ [(set_attr "type" "multi") (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" [(parallel [(set (match_operand:SI 0 "register_operand" "") (unspec:SI [(match_dup 1) (match_dup 2)] diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 00f1870801d..addaf81df36 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -91,6 +91,11 @@ along with GCC; see the file COPYING3. If not see } \ } 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. */ #undef NO_DBX_BNSYM_ENSYM #define NO_DBX_BNSYM_ENSYM 1 |

