diff options
author | Janis Johnson <janis187@us.ibm.com> | 2003-05-12 22:30:31 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2003-05-12 22:30:31 +0000 |
commit | c4501e6230543baaf5ad4ff87c0e24498bcb351b (patch) | |
tree | b3e5af61ecf33cf727a33cc4a9e164384031ece4 /gcc/configure | |
parent | 6cfae22a6b3f271c7d588ea56c08bb9930684169 (diff) | |
download | gcc-c4501e6230543baaf5ad4ff87c0e24498bcb351b.zip gcc-c4501e6230543baaf5ad4ff87c0e24498bcb351b.tar.gz gcc-c4501e6230543baaf5ad4ff87c0e24498bcb351b.tar.bz2 |
configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
2003-05-12 Janis Johnson <janis187@us.ibm.com>
Alan Modra <amodra@bigpond.net.au>
Jakub Jelinek <jakub@redhat.com>
* configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
* configure: Rebuild.
* config/rs6000/rs6000-protos.h: Update.
* config/rs6000/rs6000.c (rs6000_tls_size): New.
(rs6000_tls_size_string): New.
(rs6000_parse_tls_size_option): New.
(rs6000_legitimize_tls_address): New.
(rs6000_tls_get_addr): New.
(rs6000_got_sym): New.
(rs6000_tls_symbol_ref): New.
(rs6000_tls_symbol_ref_1): New.
(rs6000_get_some_local_dynamic_name): New.
(rs6000_get_some_local_dynamic_name_1): New.
(TARGET_HAVE_TLS): New.
(TARGET_CANNOT_FORCE_CONST_MEM): New.
(rs6000_override_options): Handle -mtls-size option.
(constant_pool_expr_1): Handle TLS symbols.
(rs6000_legitimize_address): Handle TLS symbols.
(rs6000_tls_referenced_p): New.
(rs6000_legitimate_address): Handle TLS symbols.
(rs6000_emit_move): Handle TLS symbols.
(print_operand): Handle TLS symbols.
(uses_TOC): Handle TLS symbols.
(rs6000_emit_prologue): Use symbol for unspec constant.
* config/rs6000/rs6000.h (HAVE_AS_TLS): New.
(some_ld_name): New.
(LEGITIMATE_CONSTANT_P): Handle TLS symbols.
(PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
(PREDICATE_CODES): Add rs6000_tls_symbol_ref.
* config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
Support TLS.
(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
tls_tls_64): New.
* config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r66742
Diffstat (limited to 'gcc/configure')
-rwxr-xr-x | gcc/configure | 92 |
1 files changed, 75 insertions, 17 deletions
diff --git a/gcc/configure b/gcc/configure index 0ad7794..fe5e6b3 100755 --- a/gcc/configure +++ b/gcc/configure @@ -8196,6 +8196,64 @@ foo: data8 25 tls_first_major=2 tls_first_minor=13 ;; + powerpc-*-*) + conftest_s=' + .section ".tdata","awT",@progbits + .align 2 +ld0: .space 4 +ld1: .space 4 +x1: .space 4 +x2: .space 4 +x3: .space 4 + .text + addi 3,31,ld0@got@tlsgd + bl __tls_get_addr + addi 3,31,x1@got@tlsld + bl __tls_get_addr + addi 9,3,x1@dtprel + addis 9,3,x2@dtprel@ha + addi 9,9,x2@dtprel@l + lwz 9,x3@got@tprel(31) + add 9,9,x@tls + addi 9,2,x1@tprel + addis 9,2,x2@tprel@ha + addi 9,9,x2@tprel@l' + tls_first_major=2 + tls_first_minor=14 + ;; + powerpc64-*-*) + conftest_s=' + .section ".tdata","awT",@progbits + .align 3 +ld0: .space 8 +ld1: .space 8 +x1: .space 8 +x2: .space 8 +x3: .space 8 + .text + addi 3,2,ld0@got@tlsgd + bl .__tls_get_addr + nop + addi 3,2,ld1@toc + bl .__tls_get_addr + nop + addi 3,2,x1@got@tlsld + bl .__tls_get_addr + nop + addi 9,3,x1@dtprel + bl .__tls_get_addr + nop + addis 9,3,x2@dtprel@ha + addi 9,9,x2@dtprel@l + bl .__tls_get_addr + nop + ld 9,x3@got@dtprel(2) + add 9,9,3 + bl .__tls_get_addr + nop' + tls_first_major=2 + tls_first_minor=14 + ;; s390-*-*) conftest_s=' .section ".tdata","awT",@progbits @@ -8265,7 +8323,7 @@ case "$target" in # All TARGET_ABI_OSF targets. alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*) echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6 -echo "configure:8269: checking assembler supports explicit relocations" >&5 +echo "configure:8327: checking assembler supports explicit relocations" >&5 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8318,7 +8376,7 @@ EOF ;; sparc*-*-*) echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6 -echo "configure:8322: checking assembler .register pseudo-op support" >&5 +echo "configure:8380: checking assembler .register pseudo-op support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8346,7 +8404,7 @@ EOF fi echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6 -echo "configure:8350: checking assembler supports -relax" >&5 +echo "configure:8408: checking assembler supports -relax" >&5 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8374,7 +8432,7 @@ EOF fi echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6 -echo "configure:8378: checking assembler and linker support unaligned pc related relocs" >&5 +echo "configure:8436: checking assembler and linker support unaligned pc related relocs" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8401,7 +8459,7 @@ EOF fi echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6 -echo "configure:8405: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 +echo "configure:8463: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8441,7 +8499,7 @@ EOF fi echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 -echo "configure:8445: checking for assembler offsetable %lo() support" >&5 +echo "configure:8503: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8480,7 +8538,7 @@ EOF i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 -echo "configure:8484: checking assembler instructions" >&5 +echo "configure:8542: checking assembler instructions" >&5 gcc_cv_as_instructions= if test $in_tree_gas = yes ; then if test $gcc_cv_gas_major_version -eq 2 \ @@ -8514,7 +8572,7 @@ EOF echo "$ac_t""$gcc_cv_as_instructions" 1>&6 echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 -echo "configure:8518: checking assembler GOTOFF in data directives" >&5 +echo "configure:8576: checking assembler GOTOFF in data directives" >&5 gcc_cv_as_gotoff_in_data=no if test $in_tree_gas = yes ; then if test $gcc_cv_gas_major_version -eq 2 \ @@ -8548,7 +8606,7 @@ EOF ia64*-*-*) echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6 -echo "configure:8552: checking assembler supports ltoffx and ldxmov" >&5 +echo "configure:8610: checking assembler supports ltoffx and ldxmov" >&5 if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8593,7 +8651,7 @@ EOF esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 -echo "configure:8597: checking assembler dwarf2 debug_line support" >&5 +echo "configure:8655: checking assembler dwarf2 debug_line support" >&5 gcc_cv_as_dwarf2_debug_line=no # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any @@ -8655,7 +8713,7 @@ fi echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 -echo "configure:8659: checking assembler --gdwarf2 support" >&5 +echo "configure:8717: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test $in_tree_gas = yes ; then if test $gcc_cv_gas_major_version -eq 2 \ @@ -8689,7 +8747,7 @@ fi echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 -echo "configure:8693: checking assembler --gstabs support" >&5 +echo "configure:8751: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test $in_tree_gas = yes ; then if test $gcc_cv_gas_major_version -eq 2 \ @@ -8722,7 +8780,7 @@ fi echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6 -echo "configure:8726: checking linker read-only and read-write section mixing" >&5 +echo "configure:8784: checking linker read-only and read-write section mixing" >&5 gcc_cv_ld_ro_rw_mix=unknown if test $in_tree_ld = yes ; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then @@ -8760,7 +8818,7 @@ fi echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 -echo "configure:8764: checking linker PT_GNU_EH_FRAME support" >&5 +echo "configure:8822: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test $in_tree_ld = yes ; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then @@ -8784,7 +8842,7 @@ echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1>&6 case "$target" in mips*-*-*) echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6 -echo "configure:8788: checking whether libgloss uses STARTUP directives consistently" >&5 +echo "configure:8846: checking whether libgloss uses STARTUP directives consistently" >&5 gcc_cv_mips_libgloss_startup=no gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss if test "x$exec_prefix" = xNONE; then @@ -8812,7 +8870,7 @@ EOF echo "$ac_t""$gcc_cv_mips_libgloss_startup" 1>&6 echo $ac_n "checking whether the assembler has explicit relocation support""... $ac_c" 1>&6 -echo "configure:8816: checking whether the assembler has explicit relocation support" >&5 +echo "configure:8874: checking whether the assembler has explicit relocation support" >&5 if test x$gcc_cv_mips_explicit_relocs = x; then gcc_cv_mips_explicit_relocs=no if test x$gcc_cv_as != x; then @@ -9007,7 +9065,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:9011: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:9069: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" |