mirror of https://gitee.com/Nocallback/glibc.git
Browse Source
* 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.aj/revert-sunrpc
committed by
Andreas Jaeger
9 changed files with 30 additions and 277 deletions
@ -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. */ |
|||
|
|||
@ -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. */ |
|||
|
|||
@ -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. |
|||
@ -1 +0,0 @@ |
|||
/* We don't need any code here since the setjmp.S file contains it. */ |
|||
@ -1 +0,0 @@ |
|||
/* We don't need any code here since the setjmp.S file contains it. */ |
|||
@ -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 |
|||
|
|||
@ -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) |
|||
Loading…
Reference in new issue