diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2010-03-24 18:31:07 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2010-03-24 18:31:07 +0000 |
commit | d2af65b9bc0c020a647859b553eac045410d0181 (patch) | |
tree | 82b8153b18de7e1ad4296f40b025b31046788416 /gcc | |
parent | 1db0ea007ba1dde37be101b58591e7403464a27d (diff) | |
download | gcc-d2af65b9bc0c020a647859b553eac045410d0181.zip gcc-d2af65b9bc0c020a647859b553eac045410d0181.tar.gz gcc-d2af65b9bc0c020a647859b553eac045410d0181.tar.bz2 |
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
Diffstat (limited to 'gcc')
-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 2f7cb9d..1bbb9d8 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 f6a1346..2179b5a 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 fa94091..521e2fe 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 924433f..da28f1c 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 00f1870..addaf81 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 |