about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/configure
blob: 762ae4a25de829674052c9e79a53c0326cfce2b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210

# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}

# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
 # Local configure fragment for sysdeps/powerpc/powerpc64.

# The Aix ld uses global .symbol_names instead of symbol_names
# and unfortunately early Linux PPC64 linkers use it as well.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for support for omitting dot symbols" >&5
$as_echo_n "checking for support for omitting dot symbols... " >&6; }
if ${libc_cv_omit_dot_syms+:} false; then :
  $as_echo_n "(cached) " >&6
else
  libc_cv_omit_dot_syms=no
echo 'void foo (void) {}' > conftest.c
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c -o conftest.s 1>&5'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then
  if grep -w '\.foo' conftest.s > /dev/null; then
    :
  else
    libc_cv_omit_dot_syms=yes
  fi
fi
rm -f conftest.c conftest.s

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_omit_dot_syms" >&5
$as_echo "$libc_cv_omit_dot_syms" >&6; }
if test x$libc_cv_omit_dot_syms != xyes; then
  $as_echo "#define HAVE_ASM_GLOBAL_DOT_NAME 1" >>confdefs.h

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker support for overlapping .opd entries" >&5
$as_echo_n "checking for linker support for overlapping .opd entries... " >&6; }
if ${libc_cv_overlapping_opd+:} false; then :
  $as_echo_n "(cached) " >&6
else
  libc_cv_overlapping_opd=no
echo 'void foo (void) {}' > conftest.c
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c -o conftest.s 1>&5'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then
  if grep '\.TOC\.@tocbase' conftest.s > /dev/null; then
    if grep '\.TOC\.@tocbase[ 	]*,[ 	]*0' conftest.s > /dev/null; then
      :
    else
      libc_cv_overlapping_opd=yes
    fi
  fi
fi
rm -f conftest.c conftest.s

fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_overlapping_opd" >&5
$as_echo "$libc_cv_overlapping_opd" >&6; }
if test x$libc_cv_overlapping_opd = xyes; then
  $as_echo "#define USE_PPC64_OVERLAPPING_OPD 1" >>confdefs.h

fi

# Check for support of thread-local storage handling in assembler and
# linker.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for powerpc64 TLS support" >&5
$as_echo_n "checking for powerpc64 TLS support... " >&6; }
if ${libc_cv_powerpc64_tls+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat > conftest.s <<\EOF
	.section ".tdata","awT",@progbits
x:      .quad   1
x1:     .quad   1
x2:     .quad   1
x3:     .quad   1
x4:     .long   1
	.section ".toc","aw"
.LC0:
	.quad	x@dtpmod
	.quad	x@dtprel
.LC1:
	.quad	x1@dtpmod
	.quad	0
.LC2:
	.quad	x@tprel
	.text
	addi    3,2,x@got@tlsgd
	addi    3,2,.LC0@toc
	addi    3,2,x1@got@tlsld
	addi    9,3,x1@dtprel
	addis   9,3,x2@dtprel@ha
	addi    9,9,x2@dtprel@l
	ld      9,x3@got@dtprel(2)
	addi    3,2,.LC0@toc
	lwz     0,x1@dtprel(3)
	ld      0,x1@dtprel(3)
	addis   9,3,x2@dtprel@ha
	lwz     0,x2@dtprel@l(9)
	ld      0,x2@dtprel@l(9)
	ld      9,x3@got@dtprel(2)
	ld      9,x@got@tprel(2)
	add     9,9,x@tls
	ld      9,.LC2@toc(2)
	add     9,9,.LC2@tls
	addi    9,13,x1@tprel
	addis   9,13,x2@tprel@ha
	addi    9,9,x2@tprel@l
EOF
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; }; then
  libc_cv_powerpc64_tls=yes
else
  libc_cv_powerpc64_tls=no
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_powerpc64_tls" >&5
$as_echo "$libc_cv_powerpc64_tls" >&6; }
if test $libc_cv_powerpc64_tls = no; then
  as_fn_error $? "the assembler must support TLS" "$LINENO" 5
fi