| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-02-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/getresgid.c: Move...
* sysdeps/unix/sysv/linux/i386/getresgid.c: ...here.
(getresgid): Use getresgid32 if __libc_missing_32bit_uids
is -1 or 0.
* sysdeps/unix/sysv/linux/getresuid.c: Move...
* sysdeps/unix/sysv/linux/i386/getresuid.c: ...here.
(getresuid): Use getresuid32 if __libc_missing_32bit_uids
is -1 or 0.
* sysdeps/unix/sysv/linux/i386/getuid.c: Document new tristate
__libc_missing_32bit_uids.
(__getuid): Use 32bit uid syscall if __libc_missing_32bit_uids is
-1 or 0.
* sysdeps/unix/sysv/linux/i386/chown.c (__real_chown): Likewise.
* sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise.
* sysdeps/unix/sysv/linux/i386/getegid.c (__getegid): Likewise.
* sysdeps/unix/sysv/linux/i386/geteuid.c (__geteuid): Likewise.
* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Likewise.
* sysdeps/unix/sysv/linux/i386/getgid.c (__getgid): Likewise.
* sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise.
* sysdeps/unix/sysv/linux/i386/setfsgid.c (setfsgid): Likewise.
* sysdeps/unix/sysv/linux/i386/setfsuid.c (setfsuid): Likewise.
* sysdeps/unix/sysv/linux/i386/setgid.c (__setgid): Likewise.
* sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Likewise.
* sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise.
* sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Likewise.
* sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Likewise.
* sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise.
* sysdeps/unix/sysv/linux/arm/getresuid.c: New file.
* sysdeps/unix/sysv/linux/arm/getresgid.c: New file.
* sysdeps/unix/sysv/linux/arm/msgctl.c: New file.
* sysdeps/unix/sysv/linux/arm/semctl.c: New file.
* sysdeps/unix/sysv/linux/arm/shmctl.c: New file.
* sysdeps/unix/sysv/linux/i386/msgctl.c: New file.
* sysdeps/unix/sysv/linux/i386/semctl.c: New file.
* sysdeps/unix/sysv/linux/i386/shmctl.c: New file.
* sysdeps/unix/sysv/linux/m68k/getresgid.c: New file.
* sysdeps/unix/sysv/linux/m68k/getresuid.c: New file.
* sysdeps/unix/sysv/linux/m68k/msgctl.c: New file.
* sysdeps/unix/sysv/linux/m68k/semctl.c: New file.
* sysdeps/unix/sysv/linux/m68k/shmctl.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/msgctl.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/shmctl.c: New file.
* sysdeps/unix/sysv/linux/mips/syscalls.list (getresuid):
Make syscall directly, no stubs needed.
(getresgid): Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list (getresuid):
Likewise.
(getresgid): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-02-11 Ulrich Drepper <drepper@redhat.com>
* stdio-common/printf-parse.h (parse_one_spec): Set wide elements.
* stdio-common/printf_fp.c: Truely support wide characater output.
Finally handle decimal points and thousands separator characters
correctly for multibyte output.
* stdio-common/printf_size.c: Likewise.
* sysdeps/generic/printf_fphex.c: Likewise.
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
* stdio-common/vfscanf.c: Implement I modifier for numbers to read
locale dependent digits.
* locale/C-monetary.c (_nl_C_LC_MONETARY): Change wide character
decimal point and thousands separator values to wide characters from
wide character strings.
* locale/C-numeric.c (_nl_C_LC_NUMERIC): Likewise.
* locale/indigitswc.h: Dereference wcdigits array elements.
2000-02-03 Jakub Jelinek <jakub@redhat.com>
* stdlib/canonicalize.c (canonicalize): Zero terminate
path to copy on error.
2000-02-01 Cristian Gafton <gafton@redhat.com>
* misc/syslog.c (closelog): Reset LogType to SOCK_DGRAM.
2000-01-31 Philip Blundell <philb@gnu.org>
* sysdeps/arm/fpu/fpu_control.h (_FPU_DEFAULT): Set the AC bit.
2000-01-31 Andreas Jaeger <aj@suse.de>
* intl/Makefile (generated): msgs.h is generated.
* localedata/Makefile (generated-dirs): Add de_DE.437.
2000-01-31 Jakub Jelinek <jakub@redhat.com>
* config.make.in: Allow default localedir to come from configure.
* configure.in: Export libc_cv_localedir.
* sysdeps/unix/sysv/linux/configure.in: For sparc64, put locale
stuff into $exec_prefix/lib/locale because it can be shared between
32bit and 64bit libraries.
* configure: Rebuilt.
* sysdeps/unix/sysv/linux/configure: Rebuilt.
2000-01-31 Andreas Jaeger <aj@suse.de>
* inet/tst-network.c: New file.
* inet/Makefile (tests): Add tst-network.
* inet/inet_net.c (inet_network): Don't overwrite memory or allow
to great last digits.
|
|
|
|
|
|
|
| |
2000-02-10 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/clone.S: Rewritten.
Based on a patch by Hiroyuki Machida <machida@sm.sony.co.jp>.
|
|
|
|
|
|
|
|
| |
2000-02-09 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/sys/syscall.h: Add new syscalls.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Add missing syscalls.
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h (GET_PC): Fix typo.
Make it compile.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/register-dump.h (register_dump):
Fix usage of macro ADD_STRING.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/bits/termios.h: Remove members
c_ispeed and c_ospeed which are not implemented.
|
|
|
|
|
|
|
|
|
|
| |
2000-02-08 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Define __libc_* variant
for cancelation wrapper; use __ASSUME_PWRITE_SYSCALL macro.
* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
|
|
|
|
|
|
|
|
|
| |
2000-02-05 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/bits/mman.h (MS_SYNC): 0 will not
work - set to 4 in accordance with changes made in the Linux/MIPS
kernel. Using MS_SYNC on older kernels with MS_SYNC == 0 doesn't
actually work.
|
|
|
|
|
|
|
| |
2000-02-04 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/bits/mman.h: Use correct values for
the defines.
|
|
|
|
|
|
|
|
|
|
| |
2000-02-03 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: New file.
* sysdeps/unix/sysv/linux/mips/register-dump.h: New file.
* sysdeps/mips/stackinfo.h: New file.
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/syscalls.list: Remove duplicates.
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/lxstat.c: Removed, we can use the
generic function.
* sysdeps/unix/sysv/linux/mips/fxstat.c: Likewise.
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/init-first.h: New file, from Ralf
Baechle <ralf@gnu.org>.
* sysdeps/unix/sysv/linux/mips/brk.c: New file.
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Add missing ints.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-30 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate.c (struct locale_collate_t): Change
type of plane_size and plane_cnt to uint32_t.
Reported by Jakub Jelinek.
2000-01-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
(SYSCALL_ERROR_HANDLER): Optimize.
(__SYSCALL_STRING, __SYSCALL_CLOBBERS): Define.
Include linux/sparc/sysdep.h.
Use a different guard define than linux/sparc/sysdep.h.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove
stubs for inlined syscalls.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
(SYSCALL_ERROR_HANDLER): Optimize.
(__SYSCALL_STRING, __SYSCALL_CLOBBERS): Define.
Include linux/sparc/sysdep.h.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Remove
stubs for inlined syscalls.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction):
Use INLINE_SYSCALL.
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Remove.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: New file.
2000-01-29 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* locale/loadlocale.c (_nl_load_locale): Optimize a bit. Pretty
print. Add checks for _POSIX_MMAPPED_FILES where necessary.
(_nl_unload_locale): If locale data was mmapped use munmap.
2000-01-29 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/sys/io.h: Add missing ints, use
_EXTERN_INLINE, compile inline assembler functions only with gcc.
2000-01-29 Ulrich Drepper <drepper@redhat.com>
* catgets/catgets.c (catopen): Handle NL_CAT_LOCALE correctly.
* catgets/gencat.c (read_input_file): Remove messages correctly.
* catgets/open_catalog.c (__open_catalog): Handle trailing colons and
adjacent colons correctly. Correct loops to read territory and
and codeset part.
Patches by Geoff Clare <gwc@unisoft.com> (PR libc/1559).
* rt/aio_misc.c (get_elem): Assign pointer to new row to correct
pool entry.
Patch by Jens Moeller <jens.moeller@waii.com> (PR libc/1558).
2000-01-28 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/arm/Versions: Export the new *rlimit
interface with symbol version GLIBC_2.2.
* sysdeps/unix/sysv/linux/i386/Versions: Likewise.
* sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise.
2000-01-27 Scott Bambrough <scottb@netwinder.org>
* sysdeps/unix/sysv/linux/arm/Makefile: Backout rlimit changes for
resource directory.
* sysdeps/unix/sysv/linux/arm/syscalls.list: Backout changes for
versioning setrlimit and getrlimit.
2000-01-27 Andreas Jaeger <aj@suse.de>
* sysdeps/powerpc/fpu/libm-ulps: Renamed to ...
* sysdeps/powerpc/fpu/libm-test-ulps: ...this.
2000-01-27 Ruediger Oertel <ro@suse.de>
* sysdeps/unix/sysv/linux/i386/sys/io.h: Change "::" to ": :" for g++.
2000-01-29 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unnecessarily.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_STAT64_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL,
__ASSUME_NEW_GETRLIMIT_SYSCALL): Define on powerpc for kernels >=
2.3.35.
* sysdeps/unix/sysv/linux/powerpc/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/powerpc/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/mmap64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/powerpc/setrlimit64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add
s_fstat64, s_ftruncate64, s_lstat64, s_mmap2, s_stat64,
s_truncate64.
* sysdeps/unix/sysv/linux/powerpc/truncate64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/Versions: New file.
* sysdeps/unix/sysv/linux/powerpc/brk.S [!PIC]: Don't access
__curbrk off the small data area register. Reported by
Andrew Haley <aph@pasanda.cygnus.co.uk>.
2000-01-27 Geoff Keating <geoffk@cygnus.com>
* csu/Makefile ($(objpfx)version-info.h): Don't use echo -n
unnecessarily.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_STAT64_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL,
__ASSUME_NEW_GETRLIMIT_SYSCALL): Define on powerpc for kernels >=
2.3.35.
* sysdeps/unix/sysv/linux/powerpc/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/powerpc/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/mmap64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/powerpc/setrlimit64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add
s_fstat64, s_ftruncate64, s_lstat64, s_mmap2, s_stat64,
s_truncate64.
* sysdeps/unix/sysv/linux/powerpc/truncate64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/Versions: New file.
* sysdeps/unix/sysv/linux/powerpc/brk.S [!PIC]: Don't access
__curbrk off the small data area register. Reported by
Andrew Haley <aph@pasanda.cygnus.co.uk>.
|
| |
|
|
|
|
|
|
|
| |
2000-01-25 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/configure.in: Set CPPFLAGS for kernel
version check since we're using cpp.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-26 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getresgid):
Fix a typo.
2000-01-26 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Avoid warning
about unitialised variable kbuf.
* sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise.
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libio/fileops.c (_IO_new_file_open): Recognize ,ccs= in mode string
and load appropriate conversions.
* libio/iofwide.c (__libio_codecvt): Renamed from libio_codecvt and
made global.
* libio/libioP.h: Declare __libio_codecvt.
* manual/stdio.texi: Document ,ccs= option for fopen.
* wcsmbs/wcsmbsload.c (__wcsmbs_named_conv): New function.
* wcsmbs/wcsmbsload.h (__wcsmbs_named_conv): Declare.
* libio/iofclose.c: Free conversion data if stream was wide-oriented.
* sysdeps/unix/sysv/linux/i386/Dist: Add sys/io.h.
|
|
|
|
| |
* sysdeps/unix/sysv/linux/Dist: Remove sys/io.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-25 Andreas Schwab <schwab@suse.de>
* posix/testfnm.c: Add new test case. Use FNM_PATHNAME instead of
FNM_FILE_NAME consistently.
* posix/fnmatch.c: Define STRCOLL appropriately for the loop
definition.
* posix/fnmatch_loop.c: Undefine STRCOLL.
* sysdeps/unix/sysv/linux/i386/fxstat.c: Correct code to handle
kernels with stat64 support.
* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise
* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
Patch by SL Baur <steve@xemacs.org>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-24 Paul Eggert <eggert@twinsun.com>
* posix/fnmatch_loop.c (FCT): Use locale's collating sequence when
deciding whether a character falls within a character range.
2000-01-24 Paul Eggert <eggert@twinsun.com>
* posix/fnmatch_loop.c (FCT): When matching [A-Z] and folding case,
lower-case A too.
2000-01-24 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/i386/syscalls.list: Remove old[gs]etrlimit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-24 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/Dist: Add ipc_priv.h.
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
2000-01-24 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/bits/ipc.h: Move private decls...
* sysdeps/unix/sysv/linux/ipc_priv.h: ...here.
* sysdeps/unix/sysv/linux/bits/msq.h: Move private decls...
* sysdeps/unix/sysv/linux/msgctl.c: ...here. Include ipc_priv.h.
* sysdeps/unix/sysv/linux/bits/sem.h: Move private decls...
* sysdeps/unix/sysv/linux/semctl.c: ...here. Include ipc_priv.h.
* sysdeps/unix/sysv/linux/bits/shm.h: Move private decls...
* sysdeps/unix/sysv/linux/shmctl.c: ...here. Include ipc_priv.h.
* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Move private decls...
* sysdeps/unix/sysv/linux/alpha/ipc_priv.h: ...here.
* sysdeps/unix/sysv/linux/alpha/bits/msq.h: Remove private decls.
* sysdeps/unix/sysv/linux/alpha/bits/sem.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/ipc.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/msq.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sem.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: Include ipc_priv.h.
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/msgget.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
* sysdeps/unix/sysv/linux/semget.c: Likewise.
* sysdeps/unix/sysv/linux/semop.c: Likewise.
* sysdeps/unix/sysv/linux/shmat.c: Likewise.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/shmget.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-24 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/arm/bits/resource.h: New file.
* sysdeps/unix/sysv/linux/arm/Makefile: Remove oldsetrlimit64.c.
* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
* sysdeps/unix/sysv/linux/i386/Dist: Likewise.
* sysdeps/unix/sysv/linux/arm/Versions: Remove
setrlimit64@GLIBC_2.1.3.
* sysdeps/unix/sysv/linux/i386/Versions: Likewise.
* sysdeps/unix/sysv/linux/arm/oldsetrlimit64.c: Remove.
* sysdeps/unix/sysv/linux/i386/oldsetrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/arm/setrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Call __new_getrlimit,
so that setrlimit64@GLIBC_2.1 can report limits above 2G.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (getrlimit,
setrlimit): Remove syscall stubs, add normal syscalls.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (setrlimit):
Remove syscall stub.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-23 Philip Blundell <philb@gnu.org>
Add basic support for RPC over IPv6:
* sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage'
for remote address.
(svcudp6_create, svcudp6_bufcreate, svctcp6_create): New
prototypes.
* sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create,
clntudp6_bufcreate): New prototypes.
* inet/netinet/in.h (bindresport6): Likewise.
* sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6.
* sunrpc/Versions: Add svcfd6_create, svctcp6_create,
svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache,
bindresvport6 for GLIBC_2.2.
* sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than
simple assignment when copying addresses.
* sunrpc/svc_udp.c (cache_get): Likewise.
* sunrpc/svc_unix.c (rendezvous_request): Likewise.
* sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c,
sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files.
2000-01-05 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.
2000-01-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
parameter to fstat calls.
2000-01-18 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/bits/socket.h
(__ss_aligntype, struct sockaddr_storage): Make these like Linux
version, replacing old type name `__ss_align'.
2000-01-05 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64.
(__lseek64, lseek64): Make these weak aliases for __libc_lseek64.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek.
(__lseek, lseek): Make these weak aliases for __libc_lseek.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl.
(__fcntl, fcntl): Make these weak aliases for __libc_fcntl.
* sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open.
(__open, open): Make these weak aliases for __libc_open.
* sysdeps/generic/bits/socket.h (enum __socket_type): Remove
trailing comma.
(anonymous enum for MSG_*): Likewise.
(anonymous enum for SO_*): Likewise.
2000-01-23 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
(PR libc/1553).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-23 Mark Kettenis <kettenis@gnu.org>
* inet/rexec.c (rexec_af): Use SA_LEN instead of __libc_sa_len.
2000-01-22 Thorsten Kukuk <kukuk@suse.de>
* sunrpc/xdr_rec.c: Don't set frag_sent if no more data,
fixes part 2 of bug 1549.
* sunrpc/rpc_des.h: Remove unused defines.
2000-01-22 Mark Kettenis <kettenis@gnu.org>
* intl/Makefile ($(objpfx)msgs.h): Do $(make-target-directory) first.
2000-01-22 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove sys/io.h.
* sysdeps/unix/sysv/linux/alpha/Makefile: Add sys/io.h.
* sysdeps/unix/sysv/linux/arm/Makefile: Likewise.
* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
* sysdeps/unix/sysv/linux/sys/io.h: Move from here ...
* sysdeps/unix/sysv/linux/i386/sys/io.h: ... to here, add inb, outb
and other inline functions for port access.
* sysdeps/unix/sysv/linux/alpha/sys/io.h: Add prototypes for port
access functions.
2000-01-23 Ulrich Drepper <drepper@cygnus.com>
* iconv/gconv_simple.c: Fix two problems in UTF-8 decoder.
Patch by Bruno Haibe <haible@ilog.fr>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-18 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/lxstat.c: New file, handles 32bit UIDs.
* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
* sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Move
_STAT_VER_KERNEL handling up; don't save errno.
* sysdeps/unix/sysv/linux/arm/fxstat.c: New file.
* sysdeps/unix/sysv/linux/arm/lxstat.c: Likewise.
* sysdeps/unix/sysv/linux/arm/xstat.c: Likewise.
* sysdeps/unix/sysv/linux/m68k/fxstat.c: Likewise.
* sysdeps/unix/sysv/linux/m68k/lxstat.c: Likewise.
* sysdeps/unix/sysv/linux/m68k/xstat.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/fxstat.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/lxstat.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/xstat.c: Likewise.
Reported by Bruno Haible.
|
|
|
|
|
| |
* posix/TESTS: Fix expected result for test cases with * with no
leading expression.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/fstatvfs.c: Move actual code in...
* sysdeps/unix/sysv/linux/internal_statvfs.c: ...here. New file.
* sysdeps/unix/sysv/linux/statvfs.c: Don't use fstatvfs since the
open call would require read permission.
Patch by James Antill <james@and.org>.
* sysdeps/unix/sysv/linux/Dist: Add internal_fnmatch.c.
* inet/getnameinfo.c: Terminate host name for NI_NOFQDN.
PR1515. Patches by Hideaki YOSHIFUJI <yoshfuji@ecei.tohoku.ac.jp>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/bits/ipc.h: New file.
* sysdeps/unix/sysv/linux/bits/sem.h: New file.
* sysdeps/unix/sysv/linux/bits/shm.h: New file.
* sysdeps/unix/sysv/linux/bits/msg.h: New file.
* sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc.
* sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file.
* sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file.
* sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file.
* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl):
Renamed from msgctl.
(__new_msgctl): New function.
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl):
Renamed from semctl.
(__new_semctl): New function.
* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl):
Renamed from shmctl.
(__new_shmctl): New function.
* sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysdeps/unix/sysv/linux/semget.c: Likewise.
* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
* sysdeps/unix/sysv/linux/semop.c: Likewise.
* sysdeps/unix/sysv/linux/shmat.c: Likewise.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/shmget.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file.
* sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl.
2000-01-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed
syscalls.
* sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype.
* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are
available on sparc since 2.3.39.
* sysdeps/unix/sysv/linux/execve.c: Kill warnings.
2000-01-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper
prototype.
(__real_chown): Return EINVAL if owner or group are out of the range
-1U .. 65534.
* sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise.
* sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return
EINVAL if ruid, euid or suid are out of the range -1U .. 65534.
* sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly.
* sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify.
* sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise.
* sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper
prototype.
Don't include non-existant header.
(__chown): Return EINVAL if owner or group are out of the range
-1U .. 65534.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid,
setresgid): Inherit standard linux/syscalls.list definitions.
* sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove.
* sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide
__setresgid symbol.
|
|
|
|
|
|
|
|
|
|
| |
2000-01-12 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/xstatconv.c (xstat32_conv): New
function; needed for 32bit uid support.
* sysdeps/unix/sysv/linux/i386/xstat.c: New file, handles 32bit
uids correctly.
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/getgroups.c: Fix missing brace
error in last change.
* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-12 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS):
Added for Linux 2.3.39+.
* sysdeps/unix/sysv/linux/getresgid.c: Support 32bit UIDs and
32bit GIDs.
* sysdeps/unix/sysv/linux/getresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
* sysdeps/unix/sysv/linux/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/arm/chown.c: New file.
* sysdeps/unix/sysv/linux/arm/fchown.c: New file.
* sysdeps/unix/sysv/linux/arm/geteuid.c: New file.
* sysdeps/unix/sysv/linux/arm/getegid.c: New file.
* sysdeps/unix/sysv/linux/arm/getuid.c: New file.
* sysdeps/unix/sysv/linux/arm/getgid.c: New file.
* sysdeps/unix/sysv/linux/arm/lchown.c: New file.
* sysdeps/unix/sysv/linux/i386/fchown.c: New file.
* sysdeps/unix/sysv/linux/i386/getegid.c: New file.
* sysdeps/unix/sysv/linux/i386/geteuid.c: New file.
* sysdeps/unix/sysv/linux/i386/getgid.c: New file.
* sysdeps/unix/sysv/linux/i386/getuid.c: New file.
* sysdeps/unix/sysv/linux/i386/lchown.c: New file.
* sysdeps/unix/sysv/linux/m68k/chown.c: New file.
* sysdeps/unix/sysv/linux/m68k/fchown.c: New file.
* sysdeps/unix/sysv/linux/m68k/getegid.c: New file.
* sysdeps/unix/sysv/linux/m68k/geteuid.c: New file.
* sysdeps/unix/sysv/linux/m68k/getgid.c: New file.
* sysdeps/unix/sysv/linux/m68k/getuid.c: New file.
* sysdeps/unix/sysv/linux/m68k/lchown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/chown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getegid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/geteuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getgid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/lchown.c: New file.
Based on a patch by Chris Wing <wingc@engin.umich.edu>.
2000-01-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sys/procfs.h: New file.
2000-01-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/backtrace.c: Include signal.h which
sigcontextinfo.h headers are used to expect.
* sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h
(register_dump): Fix a typo in the printout.
Avoid using reg_window, so that asm/ptrace.h is not necessary.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
(ADVANCE_STACK_FRAME): Likewise.
* stdlib/longlong.h: Avoid using __sparc_v9__ ifdefs.
* sysdeps/sparc/sparc32/bits/wordsize.h: Likewise.
* sysdeps/sparc/sparc64/bits/wordsize.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Include bits/wordsize.h
to make it clear this file depends on __WORDSIZE.
* sysdeps/unix/sysv/linux/ftruncate64.c (__have_no_truncate64):
Renamed from have_no_truncate64.
* sysdeps/unix/sysv/linux/truncate64.c (__have_no_truncate64):
Likewise.
|
|
|
|
|
|
|
| |
2000-01-13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code generated if
mmap2 is available when compiling but no at runtime.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-12 Ulrich Drepper <drepper@cygnus.com>
* iconvdata/gconv-modules: Add aliases ISO-IR-199 and ISO-IR-203.
Reported by Bruno Haible <haible@ilog.fr>.
2000-01-11 Andreas Schwab <schwab@suse.de>
* sysdeps/i386/fpu/libm-test-ulps: Adjust some epsilons.
2000-01-10 Thorsten Kukuk <kukuk@suse.de>
* nss/getent.c: Add ipv6 support for hosts.
2000-01-05 Philip Blundell <pb@futuretv.com>
* sysdeps/unix/sysv/linux/arm/Versions: Add getrlimit, setrlimit,
getrlimit64, setrlimit64 for GLIBC_2.1.3.
* sysdeps/unix/sysv/linux/arm/syscalls.list: Add oldgetrlimit,
oldsetrlimit.
* sysdeps/unix/sysv/linux/arm/oldsetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/arm/oldgetrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/arm/setrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/arm/getrlimit64.c: Likewise.
* sysdeps/unix/sysv/linux/arm/setrlimit.c: Likewise.
* sysdeps/unix/sysv/linux/arm/getrlimit.c: Likewise.
* sysdeps/unix/sysv/linux/arm/Makefile [subdir=resource]
(sysdep_routines): Add oldgetrlimit64, oldsetrlimit64.
[subdir=misc] (sysdep_headers): Add sys/elf.h.
2000-01-09 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Tools for Compilation): Update required
compiler version.
(Configuring and compiling): Restore old comments about
configparms; modify to reflect current usage.
2000-01-09 Philip Blundell <philb@gnu.org>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't attempt name
resolution if the hints included AI_NUMERICHOST.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Remove greg_t,
gregset_t, fpregset_t, and NGREG definitions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/mips/bits/ioctl-types.h: Add missing
int's.
* sysdeps/unix/sysv/linux/mips/sys/acct.h: Remove K&R support, add
missing int's.
* sysdeps/unix/sysv/linux/mips/bits/errno.h: Remove K&R support.
* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/cachectl.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Likewise.
|
|
|
|
|
|
|
|
|
|
| |
2000-01-09 Philip Blundell <philb@gnu.org>
* sysdeps/arm/dl-machine.h (CLEAR_CACHE): System calls clobber R0.
(dl_platform_init): Allow _dl_platform to be NULL.
* sysdeps/unix/sysv/linux/arm/sysdep.h (UNDOARGS_5): Fix error in
last change.
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/Dist: Distribute oldgetrlimit64.c
and oldsetrlimit64.c.
* sysdeps/unix/sysv/linux/arm/Dist: Distribute sys/elf.h and
sys/procfs.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-05 Philip Blundell <philb@gnu.org>
* sysdeps/arm/frame.h: New file.
* sysdeps/generic/frame.h: Likewise.
* sysdeps/generic/segfault.c (struct layout): Delete definition;
include the above file instead.
* sysdeps/generic/backtrace.c (struct layout): Likewise.
(__backtrace): Use ADVANCE_STACK_FRAME.
* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
(ADVANCE_STACK_FRAME): New macro.
(GET_FRAME): Apply above to returned value.
* sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Add `fault_address'.
|
|
|
|
|
|
|
| |
2000-01-02 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/ioperm.c: Use sysctl by preference
to obtain port mapping information. Avoid use of mprotect.
|
|
|
|
|
|
|
| |
2000-01-04 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_LARGEFILE): Add
definition from 2.3.36.
|
|
|
|
|
|
|
| |
2000-01-03 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code for running on
kernel without mmap2 syscall.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-01-03 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_MMAP2_SYSCALL,
__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_STAT64_SYSCALL): Define on
ARM for kernels >= 2.3.35.
2000-01-03 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap.S: Remove mmap64 alias.
Optimise error handling a little.
* sysdeps/unix/sysv/linux/arm/mmap64.S: New file.
|
|
|
|
|
|
|
|
| |
* posix/Makefile (tests): Add tst-mmap.
* posix/tst-mmap.c: New file.
* sysdeps/unix/sysv/linux/i386/mmap64.S: Pop registers after mmap2
call before handling error.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/mmap64.S: Handle unaligned offsets.
* sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/llseek.c: Formulate warning message stronger.
* sysdeps/posix/sysconf.c: Remove _POSIX2_EQUIV_CLASS_MAX handling.
|