| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I used these shell commands:
../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright
(cd ../glibc && git commit -am"[this commit message]")
and then ignored the output, which consisted lines saying "FOO: warning:
copyright statement not found" for each of 6694 files FOO.
I then removed trailing white space from benchtests/bench-pthread-locks.c
and iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c, to work around this
diagnostic from Savannah:
remote: *** pre-commit check failed ...
remote: *** error: lines with trailing whitespace found
remote: error: hook declined to update refs/heads/master
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:
sed -ri '
s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
$(find $(git ls-files) -prune -type f \
! -name '*.po' \
! -name 'ChangeLog*' \
! -path COPYING ! -path COPYING.LIB \
! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
! -path manual/texinfo.tex ! -path scripts/config.guess \
! -path scripts/config.sub ! -path scripts/install-sh \
! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
! -path INSTALL ! -path locale/programs/charmap-kw.h \
! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
! '(' -name configure \
-execdir test -f configure.ac -o -f configure.in ';' ')' \
! '(' -name preconfigure \
-execdir test -f preconfigure.ac ';' ')' \
-print)
and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:
chmod a+x sysdeps/unix/sysv/linux/riscv/configure
# Omit irrelevant whitespace and comment-only changes,
# perhaps from a slightly-different Autoconf version.
git checkout -f \
sysdeps/csky/configure \
sysdeps/hppa/configure \
sysdeps/riscv/configure \
sysdeps/unix/sysv/linux/csky/configure
# Omit changes that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
git checkout -f \
sysdeps/powerpc/powerpc64/ppc-mcount.S \
sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
# Omit change that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
|
|
|
|
|
|
|
| |
* All files with FSF copyright notices: Update copyright dates
using scripts/update-copyrights.
* locale/programs/charmap-kw.h: Regenerated.
* locale/programs/locfile-kw.h: Likewise.
|
|
|
|
|
|
|
| |
* All files with FSF copyright notices: Update copyright dates
using scripts/update-copyrights.
* locale/programs/charmap-kw.h: Regenerated.
* locale/programs/locfile-kw.h: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GDB failed to detect the outermost frame while showing the backtrace
within a thread:
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Before this patch, the start routines like thread_start had no cfi information.
GDB is then using the prologue unwinder if no cfi information is available.
This unwinder tries to unwind r15 and stops e.g. if r15 was updated or
on some jump-instructions.
On older glibc-versions (before commit "Remove cached PID/TID in clone"
c579f48edba88380635ab98cb612030e3ed8691e), the thread_start function used
such a jump-instruction and GDB did not fail with an error.
This patch adds cfi information for _start, thread_start and __makecontext_ret
and marks r14 as undefined which marks the frame as outermost frame and GDB
stops the backtrace. Also tested different gcc versions in order to test
_Unwind_Backtrace() in libgcc as this is used by backtrace() in glibc.
ChangeLog:
* sysdeps/s390/s390-64/start.S (_start): Add cfi information for r14.
* sysdeps/s390/s390-32/start.S: (_start): Likewise
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S
(thread_start): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S
(thread_start): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S
(__makecontext_ret): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S
(__makecontext_ret): Likewise.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch remove the PID cache and usage in current GLIBC code. Current
usage is mainly used a performance optimization to avoid the syscall,
however it adds some issues:
- The exposed clone syscall will try to set pid/tid to make the new
thread somewhat compatible with current GLIBC assumptions. This cause
a set of issue with new workloads and usecases (such as BZ#17214 and
[1]) as well for new internal usage of clone to optimize other algorithms
(such as clone plus CLONE_VM for posix_spawn, BZ#19957).
- The caching complexity also added some bugs in the past [2] [3] and
requires more effort of each port to handle such requirements (for
both clone and vfork implementation).
- Caching performance gain in mainly on getpid and some specific
code paths. The getpid performance leverage is questionable [4],
either by the idea of getpid being a hotspot as for the getpid
implementation itself (if it is indeed a justifiable hotspot a
vDSO symbol could let to a much more simpler solution).
Other usage is mainly for non usual code paths, such as pthread
cancellation signal and handling.
For thread creation (on stack allocation) the code simplification in fact
adds some performance gain due the no need of transverse the stack cache
and invalidate each element pid.
Other thread usages will require a direct getpid syscall, such as
cancellation/setxid signal, thread cancellation, thread fail path (at
create_thread), and thread signal (pthread_kill and pthread_sigqueue).
However these are hardly usual hotspots and I think adding a syscall is
justifiable.
It also simplifies both the clone and vfork arch-specific implementation.
And by review each fork implementation there are some discrepancies that
this patch also solves:
- microblaze clone/vfork does not set/reset the pid/tid field
- hppa uses the default vfork implementation that fallback to fork.
Since vfork is deprecated I do not think we should bother with it.
The patch also removes the TID caching in clone. My understanding for
such semantic is try provide some pthread usage after a user program
issue clone directly (as done by thread creation with CLONE_PARENT_SETTID
and pthread tid member). However, as stated before in multiple discussions
threads, GLIBC provides clone syscalls without further supporting all this
semantics.
I ran a full make check on x86_64, x32, i686, armhf, aarch64, and powerpc64le.
For sparc32, sparc64, and mips I ran the basic fork and vfork tests from
posix/ folder (on a qemu system). So it would require further testing
on alpha, hppa, ia64, m68k, nios2, s390, sh, and tile (I excluded microblaze
because it is already implementing the patch semantic regarding clone/vfork).
[1] https://codereview.chromium.org/800183004/
[2] https://sourceware.org/ml/libc-alpha/2006-07/msg00123.html
[3] https://sourceware.org/bugzilla/show_bug.cgi?id=15368
[4] http://yarchive.net/comp/linux/getpid_caching.html
* sysdeps/nptl/fork.c (__libc_fork): Remove pid cache setting.
* nptl/allocatestack.c (allocate_stack): Likewise.
(__reclaim_stacks): Likewise.
(setxid_signal_thread): Obtain pid through syscall.
* nptl/nptl-init.c (sigcancel_handler): Likewise.
(sighandle_setxid): Likewise.
* nptl/pthread_cancel.c (pthread_cancel): Likewise.
* sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): Likewise.
* sysdeps/unix/sysv/linux/pthread_sigqueue.c (pthread_sigqueue):
Likewise.
* sysdeps/unix/sysv/linux/createthread.c (create_thread): Likewise.
* sysdeps/unix/sysv/linux/getpid.c: Remove file.
* nptl/descr.h (struct pthread): Change comment about pid value.
* nptl/pthread_getattr_np.c (pthread_getattr_np): Remove thread
pid assert.
* sysdeps/unix/sysv/linux/pthread-pids.h (__pthread_initialize_pids):
Do not set pid value.
* nptl_db/td_ta_thr_iter.c (iterate_thread_list): Remove thread
pid cache check.
* nptl_db/td_thr_validate.c (td_thr_validate): Likewise.
* sysdeps/aarch64/nptl/tcb-offsets.sym: Remove pid offset.
* sysdeps/alpha/nptl/tcb-offsets.sym: Likewise.
* sysdeps/arm/nptl/tcb-offsets.sym: Likewise.
* sysdeps/hppa/nptl/tcb-offsets.sym: Likewise.
* sysdeps/i386/nptl/tcb-offsets.sym: Likewise.
* sysdeps/ia64/nptl/tcb-offsets.sym: Likewise.
* sysdeps/m68k/nptl/tcb-offsets.sym: Likewise.
* sysdeps/microblaze/nptl/tcb-offsets.sym: Likewise.
* sysdeps/mips/nptl/tcb-offsets.sym: Likewise.
* sysdeps/nios2/nptl/tcb-offsets.sym: Likewise.
* sysdeps/powerpc/nptl/tcb-offsets.sym: Likewise.
* sysdeps/s390/nptl/tcb-offsets.sym: Likewise.
* sysdeps/sh/nptl/tcb-offsets.sym: Likewise.
* sysdeps/sparc/nptl/tcb-offsets.sym: Likewise.
* sysdeps/tile/nptl/tcb-offsets.sym: Likewise.
* sysdeps/x86_64/nptl/tcb-offsets.sym: Likewise.
* sysdeps/unix/sysv/linux/aarch64/clone.S: Remove pid and tid caching.
* sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
* sysdeps/unix/sysv/linux/arm/clone.S: Likewise.
* sysdeps/unix/sysv/linux/hppa/clone.S: Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
* sysdeps/unix/sysv/linux/ia64/clone2.S: Likewise.
* sysdeps/unix/sysv/linux/mips/clone.S: Likewise.
* sysdeps/unix/sysv/linux/nios2/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sh/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/tile/clone.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/aarch64/vfork.S: Remove pid set and reset.
* sysdeps/unix/sysv/linux/alpha/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/ia64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/clone.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/mips/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/nios2/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sh/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/tile/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/tst-clone2.c (f): Remove direct pthread
struct access.
(clone_test): Remove function.
(do_test): Rewrite to take in consideration pid is not cached anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in libc-alpha [1] current clone with CLONE_VM (without
CLONE_THREAD set) will reset the pthread pid/tid fields to -1. The
issue is since memory is shared between the parent and child it will
clobber parent's cached pid/tid leading to internal inconsistencies
if the value is not restored.
And even it is restored it may lead to racy conditions when between
set/restore a thread might invoke pthread function that validate the
pthread with INVALID_TD_P/INVALID_NOT_TERMINATED_TD_P and thus get
wrong results.
As stated in BZ19957, previously reports of this behaviour was close
with EWONTFIX due the fact usage of clone outside glibc is tricky
since glibc requires consistent internal pthread, while using clone
directly may not provide it. However since now posix_spawn uses
clone (CLONE_VM) to fixes various issues related to previous vfork
usage this issue requires fixing.
The vfork implementation also does something similar, but instead
it negates and restores only the *pid* field and functions that
might access its value know to handle such case (getpid, raise
and pthread ones that uses INVALID_TD_P/INVALID_NOT_TERMINATED_TD_P
macros that check only *tid* field). Also vfork does not call
__clone directly, instead calling either __NR_vfork or __NR_clone
directly.
So this patch removes this clone behavior by avoiding setting
the pthread pid/tid field for CLONE_VM. There is no need to
check for CLONE_THREAD, since the minimum supported kernel in all
architecture implies that CLONE_VM must be used with CLONE_THREAD,
otherwise clone returns EINVAL.
Instead of current approach of:
int clone(int (*fn)(void *), void *child_stack, int flags, ...)
[...]
if (flags & CLONE_THREAD)
goto do_syscall;
pid_t new_value;
if (flags & CLONE_VM)
new_value = -1;
else
new_value = getpid ();
THREAD_SETMEM (THREAD_SELF, pid, new_value);
THREAD_SETMEM (THREAD_SELF, tid, new_value);
do_syscall:
[...]
The new approach uses:
int clone(int (*fn)(void *), void *child_stack, int flags, ...)
[...]
if (flags & CLONE_VM)
goto do_syscall;
pid_t new_value = getpid ();
THREAD_SETMEM (THREAD_SELF, pid, new_value);
THREAD_SETMEM (THREAD_SELF, tid, new_value);
do_syscall:
[...]
It also removes the linux tst-getpid2.c test which expects the previous
behavior and instead add another clone test.
Tested on x86_64, i686, x32, powerpc64le, aarch64, armhf, s390, and
s390x. I also did limited check on mips32 and sparc64 (using the new
added test).
I also got reviews from both m68k, hppa, and tile. So I presume for
these architecture the patch works.
The fixes for alpha, microblaze, sh, ia64, and nio2 have not been
tested.
[1] https://sourceware.org/ml/libc-alpha/2016-04/msg00307.html
* sysdeps/unix/sysv/linux/Makefile [$(subdir) == nptl] (test): Remove
tst-getpid2.
(test): Add tst-clone2.
* sysdeps/unix/sysv/linux/tst-clone2.c: New file.
* sysdeps/unix/sysv/linux/aarch64/clone.S (__clone): Do not change
pid/tid fields for CLONE_VM.
* sysdeps/unix/sysv/linux/arm/clone.S: Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
* sysdeps/unix/sysv/linux/mips/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/tst-getpid2.c: Remove file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch implements a new posix_spawn{p} implementation for Linux. The main
difference is it uses the clone syscall directly with CLONE_VM and CLONE_VFORK
flags and a direct allocated stack. The new stack and start function solves
most the vfork limitation (possible parent clobber due stack spilling). The
remaning issue are related to signal handling:
1. That no signal handlers must run in child context, to avoid corrupt
parent's state.
2. Child must synchronize with parent to enforce stack deallocation and
to possible return execv issues.
The first one is solved by blocking all signals in child, even NPTL-internal
ones (SIGCANCEL and SIGSETXID). The second issue is done by a stack allocation
in parent and a synchronization with using a pipe or waitpid (in case or error).
The pipe has the advantage of allowing the child signal an exec error (checked
with new tst-spawn2 test).
There is an inherent race condition in pipe2 usage for architectures that do not
support the syscall directly. In such cases the a pipe plus fctnl is used
instead and it may lead to file descriptor leak in parent (as decribed by fcntl
documentation).
The child process stack is allocate with a mmap with MAP_STACK flag using
default architecture stack size. Although it is slower than use a stack buffer
from parent, it allows some slack for the compatibility code to run scripts
with no shebang (which may use a buffer with size depending of argument list
count).
Performance should be similar to the vfork default posix implementation and
way faster than fork path (vfork on mostly linux ports are basically
clone with CLONE_VM plus CLONE_VFORK). The only difference is the syscalls
required for the stack allocation/deallocation.
It fixes BZ#10354, BZ#14750, and BZ#18433.
Tested on i386, x86_64, powerpc64le, and aarch64.
[BZ #14750]
[BZ #10354]
[BZ #18433]
* include/sched.h (__clone): Add hidden prototype.
(__clone2): Likewise.
* include/unistd.h (__dup): Likewise.
* posix/Makefile (tests): Add tst-spawn2.
* posix/tst-spawn2.c: New file.
* sysdeps/posix/dup.c (__dup): Add hidden definition.
* sysdeps/unix/sysv/linux/aarch64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/arm/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/hppa/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/m68k/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/microblaze/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/mips/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/nios2/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S (__clone):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/tile/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/x86_64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/nptl-signals.h
(____nptl_is_internal_signal): New function.
* sysdeps/unix/sysv/linux/spawni.c: New file.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-12-15 Jakub Jelinek <jakub@redhat.com>
* nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def,
not libnsl_hidden_proto.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support
for NPTL where the PID is stored at userlevel and needs to be reset
when CLONE_THREAD is not used.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
and restore r2 around call to fn.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/fpu/bits/mathinline.h [__LIBC_INTERNAL_MATH_INLINES]
(__ieee754_sqrt): Define as __MATH_INLINE using sqdbr instruction.
(__ieee754_sqrtf): Define as __MATH_INLINE using sqebr instruction.
* sysdeps/s390/fpu/e_sqrt.c: New file.
* sysdeps/s390/fpu/e_sqrtf.c: New file.
* sysdeps/s390/Implies: New file.
* sysdeps/s390/s390-32/Implies: Remove ieee754, move
ieee754/dbl-64 and ieee754/flt-32 to s390/Implies.
* sysdeps/s390/s390-64/Implies: Likewise.
2004-06-30 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Include tls.h.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start):
DO_CALL (exit, 1) instead of branching to _exit.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start):
Likewise.
* sysdeps/s390/fpu/bits/mathinline.h: New file.
* include/glob.h (glob64): Add libc_hidden_proto.
* sysdeps/generic/glob64.c (glob64): Add libc_hidden_def.
* sysdeps/gnu/glob64.c (glob64): Likewise.
* sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-12-05 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-32/elf/setjmp.S (setjmp, __setjmp): Add END
statements.
* sysdeps/s390/s390-64/elf/setjmp.S (setjmp, __setjmp): Likewise.
* sysdeps/s390/s390-32/sysdep.h (ENTRY): Add cfi_startproc directive.
(END): Add cfi_endproc directive.
* sysdeps/s390/s390-64/sysdep.h (ENTRY, END): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Remove
cfi_startproc and cfi_endproc directive.
* sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise.
* sysdeps/s390/s390-32/addmul_1.S (__mpn_addmul_1): Add CFI directives.
* sysdeps/s390/s390-32/add_n.S (__mpn_add_n): Likewise.
* sysdeps/s390/s390-64/add_n.S (__mpn_add_n): Likewise.
* sysdeps/s390/s390-32/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Likewise.
* sysdeps/s390/s390-64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Likewise.
* sysdeps/s390/s390-32/mul_1.S (__mpn_mul_1): Likewise.
* sysdeps/s390/s390-32/sub_n.S (__mpn_sub_n): Likewise.
* sysdeps/s390/s390-64/sub_n.S (__mpn_sub_n): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S (__mmap64): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/mmap.S (__mmap): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add CFI
directives. Move thread_start out of ENTRY/PSEUDO_END block to
make backchain terminate.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
* sysdeps/s390/s390-32/backtrace.c (trace_arg): New structure.
(unwind_backtrace, unwind_getip): New variables.
(init, __backchain_backtrace, backtrace_helper): New functions.
(__backtrace): Use unwind info for backtrace instead of backchain
walking if the unwind functions can be found.
* sysdeps/s390/s390-64/backtrace.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: New file.
* sysdeps/unix/sysv/linux/s390/sys/procfs.h (ELF_NGREG32): New #define.
(elf_greg_t32, elf_gregset_t32, elf_fpregset_t32): New types.
(elf_prstatus32, elf_prpsinfo32): New structures.
(prgregset32_t, prfpregset32_t, prstatus32_t, prpsinfo32_t): New types.
* scripts/data/c++-types-s390-linux-gnu.data: New file.
* scripts/data/c++-types-s390x-linux-gnu.data: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-01-30 Jakub Jelinek <jakub@redhat.com>
* sysdeps/alpha/tls.h (THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Avoid warnings about unused self
variable.
* sysdeps/ia64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
* sysdeps/s390/s390-32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
* sysdeps/s390/s390-64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
* sysdeps/sh/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
* sysdeps/sparc/sparc32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
* sysdeps/sparc/sparc64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
|
|
|
|
|
|
|
|
| |
2003-01-28 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Reorder additional
clone parameters to match the order used on ia32.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-01-27 Martin Schwidefsky <schwidefsky@de.ibm.com>
* elf/elf.h: Add new s390 relocs.
* elf/tls-macros.h: Add s390 versions.
* sysdeps/s390/Versions [GLIBC_2.3] (ld): Export __tls_get_offset.
* sysdeps/s390/dl-tls.h: New file.
* sysdeps/s390/libc-tls.c: New file.
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_type_class): Add TLS
relocs for class PLT.
(elf_machine_rela): Handle TLS relocs.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/s390/s390-32/elf/configure.in: Add TLS check.
* sysdeps/s390/s390-64/elf/configure.in: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Add support for
CLONE_CHILD_*TID flags.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: Use branch with 32
bit offset.
* sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error):
Support USE___THREAD. Define RTLD_PRIVATE_ERRNO variant.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h:
(SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER.
(SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO
variants.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h:
(SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER. Use
direct branch to syscall_error for !PIC and PIC && !_LIBC_REENTRANT.
(SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO
variants.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-02-07 Andreas Schwab <schwab@suse.de>
* configure.in: Fix check for -zcombreloc.
2002-02-06 H.J. Lu <hjl@gnu.org>
* config.h.in (HAVE_BUILTIN_MEMSET): New.
* configure.in: Check if __builtin_memset really works.
* elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of
__GNUC_PREREQ (2, 96) before using __builtin_memset.
2002-02-06 Jakub Jelinek <jakub@redhat.com>
* io/bug-ftw3.c (main): Don't try the test if root.
2002-02-06 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly
constraints.
* sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS):
Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone
a weak alias for __clone.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo.
* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate.
* sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap
a weak alias for __mmap64.
* sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely.
* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise.
* sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|
|
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/Dist: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/Dist: ...here.
* sysdeps/unix/sysv/linux/s390/Makefile: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: ...here.
* sysdeps/unix/sysv/linux/s390/Versions: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/Versions: ...here.
* sysdeps/unix/sysv/linux/s390/alphasort64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/alphasort64.c: ...here.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/bits/fcntl.h: ...here.
* sysdeps/unix/sysv/linux/s390/bits/mman.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/bits/mman.h: ...here.
* sysdeps/unix/sysv/linux/s390/bits/resource.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h: ...here.
* sysdeps/unix/sysv/linux/s390/bits/stat.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/bits/stat.h: ...here.
* sysdeps/unix/sysv/linux/s390/chown.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/chown.c: ...here.
* sysdeps/unix/sysv/linux/s390/clone.S: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: ...here.
* sysdeps/unix/sysv/linux/s390/fchown.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/fchown.c: ...here.
* sysdeps/unix/sysv/linux/s390/fcntl.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c: ...here.
* sysdeps/unix/sysv/linux/s390/fxstat.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/fxstat.c: ...here.
* sysdeps/unix/sysv/linux/s390/getdents64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getdents64.c: ...here.
* sysdeps/unix/sysv/linux/s390/getegid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getegid.c: ...here.
* sysdeps/unix/sysv/linux/s390/geteuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/geteuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/getgid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getgid.c: ...here.
* sysdeps/unix/sysv/linux/s390/getgroups.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getgroups.c: ...here.
* sysdeps/unix/sysv/linux/s390/getresgid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getresgid.c: ...here.
* sysdeps/unix/sysv/linux/s390/getresuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getresuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/getrlimit.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getrlimit.c: ...here.
* sysdeps/unix/sysv/linux/s390/getrlimit64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getrlimit64.c: ...here.
* sysdeps/unix/sysv/linux/s390/getuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/getuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/lchown.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: ...here.
* sysdeps/unix/sysv/linux/s390/lockf64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/lockf64.c: ...here.
* sysdeps/unix/sysv/linux/s390/lxstat.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/lxstat.c: ...here.
* sysdeps/unix/sysv/linux/s390/mmap.S: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: ...here.
* sysdeps/unix/sysv/linux/s390/mmap64.S: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: ...here.
* sysdeps/unix/sysv/linux/s390/msgctl.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/msgctl.c: ...here.
* sysdeps/unix/sysv/linux/s390/oldgetrlimit64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/oldgetrlimit64.c: ...here.
* sysdeps/unix/sysv/linux/s390/readdir64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/readdir64.c: ...here.
* sysdeps/unix/sysv/linux/s390/readdir64_r.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/readdir64_r.c: ...here.
* sysdeps/unix/sysv/linux/s390/register-dump.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h: ...here.
* sysdeps/unix/sysv/linux/s390/scandir64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/scandir64.c: ...here.
* sysdeps/unix/sysv/linux/s390/semctl.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/semctl.c: ...here.
* sysdeps/unix/sysv/linux/s390/setegid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setegid.c: ...here.
* sysdeps/unix/sysv/linux/s390/seteuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/seteuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setfsgid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setfsgid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setfsuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setfsuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setgid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setgid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setgroups.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setgroups.c: ...here.
* sysdeps/unix/sysv/linux/s390/setregid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setregid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setresgid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setresgid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setresuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setresuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setreuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setreuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/setrlimit.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setrlimit.c: ...here.
* sysdeps/unix/sysv/linux/s390/setuid.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/setuid.c: ...here.
* sysdeps/unix/sysv/linux/s390/shmctl.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/shmctl.c: ...here.
* sysdeps/unix/sysv/linux/s390/socket.S: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/socket.S: ...here.
* sysdeps/unix/sysv/linux/s390/sys/procfs.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/sys/procfs.h: ...here.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: ...here.
* sysdeps/unix/sysv/linux/s390/syscall.S: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: ...here.
* sysdeps/unix/sysv/linux/s390/syscalls.list: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: ...here.
* sysdeps/unix/sysv/linux/s390/sysdep.S: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: ...here.
* sysdeps/unix/sysv/linux/s390/sysdep.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: ...here.
* sysdeps/unix/sysv/linux/s390/versionsort64.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/versionsort64.c: ...here.
* sysdeps/unix/sysv/linux/s390/xstat.c: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/xstat.c: ...here.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-64/Dist: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/elfclass.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/ipc.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/msq.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sem.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/shm.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/siginfo.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigstack.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/stat.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/bits/types.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/getdents.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/glob.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/glob64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/pread64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c : New file.
* sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/socket.S: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sys/procfs.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c: New file.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/Dist: Move to...
* sysdeps/s390/390-32/Dist: ...here.
* sysdeps/s390/Implies: Move to...
* sysdeps/s390/s390-32/Implies: ...here.
* sysdeps/s390/Makefile: Move to...
* sysdeps/s390/s390-32/Makefile: ...here.
* sysdeps/s390/Versions: Move to...
* sysdeps/s390-32/s390/Versions: ...here.
* sysdeps/s390/add_n.S: Move to...
* sysdeps/s390/s390-32/add_n.S: ...here.
* sysdeps/s390/addmul_1.S: Move to...
* sysdeps/s390/s390-32/addmul_1.S: ...here.
* sysdeps/s390/atomicity.h: Move to...
* sysdeps/s390/s390-32/atomicity.h: ...here.
* sysdeps/s390/backtrace.c: Move to...
* sysdeps/s390/s390-32/backtrace.c: ...here.
* sysdeps/s390/bcopy.S: Move to...
* sysdeps/s390/s390-32/bcopy.S: ...here.
* sysdeps/s390/bits/byteswap.h: Move to...
* sysdeps/s390/s390-32/bits/byteswap.h: ...here.
* sysdeps/s390/bits/huge_val.h: Move to...
* sysdeps/s390/s390-32/bits/huge_val.h: ...here.
* sysdeps/s390/bsd-_setjmp.S: Move to...
* sysdeps/s390/s390-32/bsd-_setjmp.S: ...here.
* sysdeps/s390/bsd-setjmp.S: Move to...
* sysdeps/s390/s390-32/bsd-setjmp.S: ...here.
* sysdeps/s390/bzero.S: Move to...
* sysdeps/s390/s390-32/bzero.S: ...here.
* sysdeps/s390/elf/bsd-_setjmp.S: Move to...
* sysdeps/s390/s390-32/elf/bsd-_setjmp.S: ...here.
* sysdeps/s390/elf/bsd-setjmp.S: Move to...
* sysdeps/s390/s390-32/elf/bsd-setjmp.S: ...here.
* sysdeps/s390/elf/start.S: Move to...
* sysdeps/s390/s390-32/elf/start.S: ...here.
* sysdeps/s390/ffs.c: Move to...
* sysdeps/s390/s390-32/ffs.c: ...here.
* sysdeps/s390/memchr.S: Move to...
* sysdeps/s390/s390-32/memchr.S: ...here.
* sysdeps/s390/memcpy.S: Move to...
* sysdeps/s390/s390-32/memcpy.S: ...here.
* sysdeps/s390/memset.S: Move to...
* sysdeps/s390/s390-32/memset.S: ...here.
* sysdeps/s390/mul_1.S: Move to...
* sysdeps/s390/s390-32/mul_1.S: ...here.
* sysdeps/s390/s390-mcount.S: Move to...
* sysdeps/s390/s390-32/s390-mcount.S: ...here.
* sysdeps/s390/strcpy.S: Move to...
* sysdeps/s390/s390-32/strcpy.S: ...here.
* sysdeps/s390/strncpy.S: Move to...
* sysdeps/s390/s390-32/strncpy.S: ...here.
* sysdeps/s390/sub_n.S: Move to...
* sysdeps/s390/s390-32/sub_n.S: ...here.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-64/Dist: New file.
* sysdeps/s390/s390-64/Implies: New file.
* sysdeps/s390/s390-64/Makefile: New file.
* sysdeps/s390/s390-64/__longjmp.c: New file.
* sysdeps/s390/s390-64/add_n.S: New file.
* sysdeps/s390/s390-64/atomicity.h: New file.
* sysdeps/s390/s390-64/backtrace.c: New file.
* sysdeps/s390/s390-64/bcopy.S: New file.
* sysdeps/s390/s390-64/bits/byteswap.h: New file.
* sysdeps/s390/s390-64/bits/huge_val.h: New file.
* sysdeps/s390/s390-64/bits/setjmp.h: New file.
* sysdeps/s390/s390-64/bits/string.h: New file.
* sysdeps/s390/s390-64/bsd-_setjmp.S: New file.
* sysdeps/s390/s390-64/bsd-setjmp.S: New file.
* sysdeps/s390/s390-64/bzero.S: New file.
* sysdeps/s390/s390-64/dl-machine.h: New file.
* sysdeps/s390/s390-64/elf/bsd-_setjmp.S: New file.
* sysdeps/s390/s390-64/elf/bsd-setjmp.S: New file.
* sysdeps/s390/s390-64/elf/setjmp.S: New file.
* sysdeps/s390/s390-64/elf/start.S: New file.
* sysdeps/s390/s390-64/ffs.c: New file.
* sysdeps/s390/s390-64/initfini.c: New file.
* sysdeps/s390/s390-64/memchr.S: New file.
* sysdeps/s390/s390-64/memcpy.S: New file.
* sysdeps/s390/s390-64/memset.S: New file.
* sysdeps/s390/s390-64/s390x-mcount.S: New file.
* sysdeps/s390/s390-64/setjmp.S: New file.
* sysdeps/s390/s390-64/strcpy.S: New file.
* sysdeps/s390/s390-64/strncpy.S: New file.
* sysdeps/s390/s390-64/sub_n.S: New file.
* sysdeps/s390/s390-64/sysdep.h: New file.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* scripts/config.guess: Add support for Linux on 64 bit S/390.
* scripts/config.sub: Likewise.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* configure.in: Add support for 64 bit S/390.
* elf/elf.h: Add new relocations for 64 bit S/390.
* shlib-versions: Add rules for Linux on 64 bit S/390.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/__longjmp.c: Move to...
* sysdeps/s390/s390-32/__longjmp.c: ...here. Add code
to load the floating point registers that should be saved
according to the ABI.
* sysdeps/s390/bits/setjmp.h: Move to...
* sysdeps/s390/s390-32/bits/setjmp.h: ...here. Avoid
the use of long long in the __jmp_buf type definition.
* sysdeps/s390/bits/string.h: Move to...
* sysdeps/s390/s390-32/bits/string.h: ...here. Add several missing
#ifndef _FORCE_INLINES.
* sysdeps/s390/dl-machine.h: Move to...
* sysdeps/s390/s390-32/dl-machine.h: ...here. Add a check for the
executables EI_CLASS in elf_machine_matches_host.
* sysdeps/s390/elf/setjmp.S: Move to...
* sysdeps/s390/s390-32/elf/setjmp.S: ...here. Replace
branches to globally defined symbol __sigsetjmp by branches to
a local label (this avoids the generation of a R_390_PC16DBL
relocation in -fpic code).
* sysdeps/s390/gmp-mparam.h: Use defines from <bits/wordsize.h> to
calculate BITS_PER_MP_LIMB, BYTES_PER_MP_LIMB and BITS_PER_LONGINT.
* sysdeps/s390/initfini.c: Move to...
* sysdeps/s390/s390-32/initfini.c: ...here. Replace ALIGN with
".align 4,0x07".
* sysdeps/s390/setjmp.S: Move to...
* sysdeps/s390/s390-32/setjmp.S: ...here. Add code to store the
floating point registers that should be saved according to the ABI.
* sysdeps/s390/sys/ucontext.h: Remove since it is unused.
* sysdeps/unix/sysv/linux/s390/sysdep.h: Move to...
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: ...here. Include
sysdeps/s390/s390-32/sysdep.h instead of sysdeps/s390/sysdep.h.
2001-03-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
* configure.in: Change machine=s390 to machine=s390/s390-32.
* elf/elf.h: Correct comment for R_390_PLT16DBL.
|