Move sysdeps/s390/s390-64/elf files

* sysdeps/s390/s390-64/elf/bsd-_setjmp.S: Moved to ...
	* sysdeps/s390/s390-64/bsd-_setjmp.S: ... here.
	* sysdeps/s390/s390-64/elf/bsd-setjmp.S: Moved to ...
	* sysdeps/s390/s390-64/bsd-setjmp.S: ... here.
	* sysdeps/s390/s390-64/elf/setjmp.S: Moved to ...
	* sysdeps/s390/s390-64/setjmp.S: ... here.
	* sysdeps/s390/s390-64/elf/configure.in: Moved to ...
	* sysdeps/s390/s390-64/configure.in: ... here
	* sysdeps/s390/s390-64/elf/configure: Delete file.
	* sysdeps/s390/s390-64/elf/start.S: Moved to ...
	* sysdeps/s390/s390-64/start.S: ... here.
	* sysdeps/s390/s390-64/elf/configure: Delete.
This commit is contained in:
Andreas Jaeger 2012-03-23 17:37:32 +01:00 committed by Andreas Jaeger
parent bbaf00a652
commit 492e01c879
9 changed files with 30 additions and 277 deletions

View File

@ -1,34 +1 @@
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. 64 bit S/390 version.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* This just does a tail-call to `__sigsetjmp (ARG, 0)'.
We cannot do it in C because it must be a tail-call, so frame-unwinding
in setjmp doesn't clobber the state restored by longjmp. */
#include <sysdep.h>
ENTRY(_setjmp)
slgr %r3,%r3 /* Second argument of zero. */
#ifdef PIC
jg __sigsetjmp@PLT /* Branch to PLT of __sigsetjmp. */
#else
jg __sigsetjmp /* Branch to __sigsetjmp. */
#endif
END (_setjmp)
libc_hidden_def (_setjmp)
/* We don't need any code here since the setjmp.S file contains it. */

View File

@ -1,33 +1 @@
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. 64 bit S/390 version.
Copyright (C) 2001 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* This just does a tail-call to `__sigsetjmp (ARG, 1)'.
We cannot do it in C because it must be a tail-call, so frame-unwinding
in setjmp doesn't clobber the state restored by longjmp. */
#include <sysdep.h>
ENTRY(setjmp)
lghi %r1,1 /* Second argument of one. */
#ifdef PIC
jg __sigsetjmp@PLT /* Branch to PLT of __sigsetjmp. */
#else
jg __sigsetjmp /* Branch to __sigsetjmp. */
#endif
END (setjmp)
/* We don't need any code here since the setjmp.S file contains it. */

View File

@ -1,5 +1,5 @@
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/s390/elf.
# Local configure fragment for sysdeps/s390.
# Check for support of thread-local storage handling in assembler and
# linker.

View File

@ -1 +0,0 @@
/* We don't need any code here since the setjmp.S file contains it. */

View File

@ -1 +0,0 @@
/* We don't need any code here since the setjmp.S file contains it. */

View File

@ -1,127 +0,0 @@
# 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/s390/elf.
# Check for support of thread-local storage handling in assembler and
# linker.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for s390 TLS support" >&5
$as_echo_n "checking for s390 TLS support... " >&6; }
if ${libc_cv_390_tls+:} false; then :
$as_echo_n "(cached) " >&6
else
cat > conftest.S <<\EOF
.section ".tdata", "awT", @progbits
foo: .long 25
.text
.quad foo@TLSGD
.quad foo@TLSLDM
.quad foo@DTPOFF
.quad foo@NTPOFF
.quad foo@GOTNTPOFF
.quad foo@INDNTPOFF
lg %r1,foo@GOTNTPOFF(%r12)
lg %r1,0(%r1):tls_load:foo
brasl %r14,__tls_get_offset@plt:tls_gdcall:foo
brasl %r14,__tls_get_offset@plt:tls_ldcall:foo
EOF
if { ac_try='${CC-cc} -S $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_390_tls=yes
else
libc_cv_390_tls=no
fi
rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_390_tls" >&5
$as_echo "$libc_cv_390_tls" >&6; }
if test $libc_cv_390_tls = no; then
as_fn_error $? "the assembler must support TLS" "$LINENO" 5
fi
$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h

View File

@ -1,71 +0,0 @@
/* setjmp for 64 bit S/390, ELF version.
Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
#define _ASM
#define _SETJMP_H
#include <bits/setjmp.h>
/* We include the BSD entry points here as well but we make
them weak. */
ENTRY (setjmp)
.weak C_SYMBOL_NAME (setjmp)
lghi %r3,1 /* Second argument of one. */
j .Linternal_sigsetjmp /* Branch relativ to __sigsetjmp. */
END (setjmp)
/* Binary compatibility entry point. */
ENTRY(_setjmp)
.weak C_SYMBOL_NAME (_setjmp)
slgr %r3,%r3 /* Second argument of zero. */
j .Linternal_sigsetjmp /* Branch relativ to __sigsetjmp. */
END (setjmp)
libc_hidden_def (_setjmp)
ENTRY(__setjmp)
slgr %r3,%r3 /* Second argument of zero. */
j .Linternal_sigsetjmp /* Branch relativ to __sigsetjmp. */
END (setjmp)
ENTRY(__sigsetjmp)
.Linternal_sigsetjmp:
#ifdef PTR_MANGLE
stmg %r6,%r13,0(%r2) /* Store registers in jmp_buf. */
lgr %r4,%r14
lgr %r5,%r15
PTR_MANGLE (%r4, %r1)
PTR_MANGLE2 (%r5, %r1)
stmg %r4,%r5,64(%r2)
#else
stmg %r6,%r15,0(%r2) /* Store registers in jmp_buf. */
#endif
std %f1,80(%r2)
std %f3,88(%r2)
std %f5,96(%r2)
std %f7,104(%r2)
#if defined NOT_IN_libc && defined IS_IN_rtld
/* In ld.so we never save the signal mask. */
lghi %r2,0
br %r14
#elif defined PIC
jg __sigjmp_save@PLT /* Branch to PLT of __sigsetjmp. */
#else
jg __sigjmp_save
#endif
END (__sigsetjmp)

View File

@ -1,4 +1,5 @@
/* Copyright (C) 2001, 2005 Free Software Foundation, Inc.
/* setjmp for 64 bit S/390, ELF version.
Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@ -16,17 +17,34 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _ASM
#define _ASM
#endif
#include <sysdep.h>
#define _ASM
#define _SETJMP_H
#include <bits/setjmp.h>
/* Save the current program position in ENV and return 0. */
/* R2 = pointer to jmp_buf, R3 = savemask. */
/* We include the BSD entry points here as well but we make
them weak. */
ENTRY (setjmp)
.weak C_SYMBOL_NAME (setjmp)
lghi %r3,1 /* Second argument of one. */
j .Linternal_sigsetjmp /* Branch relativ to __sigsetjmp. */
END (setjmp)
/* Binary compatibility entry point. */
ENTRY(_setjmp)
.weak C_SYMBOL_NAME (_setjmp)
slgr %r3,%r3 /* Second argument of zero. */
j .Linternal_sigsetjmp /* Branch relativ to __sigsetjmp. */
END (setjmp)
libc_hidden_def (_setjmp)
ENTRY(__setjmp)
slgr %r3,%r3 /* Second argument of zero. */
j .Linternal_sigsetjmp /* Branch relativ to __sigsetjmp. */
END (setjmp)
ENTRY(__sigsetjmp)
.Linternal_sigsetjmp:
#ifdef PTR_MANGLE
stmg %r6,%r13,0(%r2) /* Store registers in jmp_buf. */
lgr %r4,%r14
@ -46,8 +64,8 @@ ENTRY(__sigsetjmp)
lghi %r2,0
br %r14
#elif defined PIC
jg __sigjmp_save@PLT /* Tail-call __sigjmp_save. */
jg __sigjmp_save@PLT /* Branch to PLT of __sigsetjmp. */
#else
jg __sigjmp_save /* Tail-call __sigjmp_save. */
jg __sigjmp_save
#endif
END (__sigsetjmp)