aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/elf/configure
blob: a2545403ef36af618956f9514fd7af7fadcc7d6e (plain)
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
211
212
213
214
215
216
217

# 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/sparc/elf.

# Check for support of thread-local storage handling in assembler and linker.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sparc TLS support" >&5
$as_echo_n "checking for sparc TLS support... " >&6; }
if ${libc_cv_sparc_tls+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat > conftest.S <<\EOF
	.section ".tdata", "awT", @progbits
	.globl foo
foo:	.word	1
	.section ".tbss", "awT", @nobits
	.globl bar
bar:	.skip	4
	.text
baz:	sethi	%tgd_hi22(foo), %l1
	add	%l1, %tgd_lo10(foo), %l1
	add	%l7, %l1, %o0, %tgd_add(foo)
	call	__tls_get_addr, %tgd_call(foo)
	sethi	%tldm_hi22(bar), %l1
	add	%l1, %tldm_lo10(bar), %l1
	add	%l7, %l1, %o0, %tldm_add(bar)
	call	__tls_get_addr, %tldm_call(bar)
	sethi	%tldo_hix22(bar), %l1
	xor	%l1, %tldo_lox10(bar), %l1
	add	%o0, %l1, %l1, %tldo_add(bar)
	sethi	%tie_hi22(foo), %l1
	add	%l1, %tie_lo10(foo), %l1
#ifdef __arch64__
	ldx	[%l7 + %l1], %l1, %tie_ldx(foo)
#else
	ld	[%l7 + %l1], %l1, %tie_ld(foo)
#endif
	add	%g7, %l1, %l1, %tie_add(foo)
	sethi	%tle_hix22(foo), %l1
	xor	%l1, %tle_lox10(foo), %l1
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_sparc_tls=yes
else
  libc_cv_sparc_tls=no
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparc_tls" >&5
$as_echo "$libc_cv_sparc_tls" >&6; }
if test $libc_cv_sparc_tls = no; then
  as_fn_error $? "the assembler must support TLS" "$LINENO" 5
fi

# Check for GOTDATA relocation support in assembler and linker.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sparc binutils GOTDATA reloc support" >&5
$as_echo_n "checking for sparc binutils GOTDATA reloc support... " >&6; }
if ${libc_cv_sparc_gotdata+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat > conftest.S <<\EOF
	.data
	.globl	data
data:	.word	0
	.text
	.globl	foo
foo:	sethi	%gdop_hix22(data), %g1
	xor	%g1, %gdop_lox10(data), %g1
#ifdef __arch64__
	ldx	[%l7 + %g1], %g1, %gdop(data)
#else
	ld	[%l7 + %g1], %g1, %gdop(data)
#endif
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_sparc_gotdata=yes
else
  libc_cv_sparc_gotdata=no
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparc_gotdata" >&5
$as_echo "$libc_cv_sparc_gotdata" >&6; }
if test $libc_cv_sparc_gotdata = yes; then
  $as_echo "#define HAVE_BINUTILS_GOTDATA 1" >>confdefs.h

fi

# Check for a GCC emitting GOTDATA relocations.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sparc gcc GOTDATA reloc support" >&5
$as_echo_n "checking for sparc gcc GOTDATA reloc support... " >&6; }
if ${libc_cv_sparc_gcc_gotdata+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat > conftest.c <<\EOF
int data;
int foo(void)
{
	return data;
}
EOF
libc_cv_sparc_gcc_gotdata=no
if { ac_try='${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 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 -q 'gdop_hix22' conftest.s \
     && grep -q 'gdop_lox10' conftest.s; then
    libc_cv_sparc_gcc_gotdata=yes
  fi
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparc_gcc_gotdata" >&5
$as_echo "$libc_cv_sparc_gcc_gotdata" >&6; }
if test $libc_cv_sparc_gcc_gotdata = yes; then
  $as_echo "#define HAVE_GCC_GOTDATA 1" >>confdefs.h

fi

if test $libc_cv_sparc_gcc_gotdata = yes \
   && test $libc_cv_sparc_gotdata = yes; then
  $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h

fi