* sysdeps/unix/sysv/linux/open64_2.c: ...here. New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
open64_2.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat
entries.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/wordsize-64/alphasort.c: New file.
* sysdeps/wordsize-64/alphasort64.c: New file.
* sysdeps/wordsize-64/fseeko.c: New file.
* sysdeps/wordsize-64/fseeko64.c: New file.
* sysdeps/wordsize-64/ftello.c: New file.
* sysdeps/wordsize-64/ftello64.c: New file.
* sysdeps/wordsize-64/ftw.c: New file.
* sysdeps/wordsize-64/ftw64.c: New file.
* sysdeps/wordsize-64/iofgetpos.c: New file.
* sysdeps/wordsize-64/iofgetpos64.c: New file.
* sysdeps/wordsize-64/iofopen.c: New file.
* sysdeps/wordsize-64/iofopen64.c: New file.
* sysdeps/wordsize-64/iofsetpos.c: New file.
* sysdeps/wordsize-64/iofsetpos64.c: New file.
* sysdeps/wordsize-64/lockf.c: New file.
* sysdeps/wordsize-64/lockf64.c: New file.
* sysdeps/wordsize-64/mkostemp.c: New file.
* sysdeps/wordsize-64/mkostemp64.c: New file.
* sysdeps/wordsize-64/mkstemp.c: New file.
* sysdeps/wordsize-64/mkstemp64.c: New file.
* sysdeps/wordsize-64/scandir.c: New file.
* sysdeps/wordsize-64/scandir64.c: New file.
* sysdeps/wordsize-64/tmpfile.c: New file.
* sysdeps/wordsize-64/tmpfile64.c: New file.
* sysdeps/wordsize-64/versionsort.c: New file.
* sysdeps/wordsize-64/versionsort64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file.
* crypt/sha256-crypt.c: Fix a comment.
* crypt/sha512-crypt.c: Likewise.
+2007-11-10 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..
+ * sysdeps/unix/sysv/linux/open64_2.c: ...here. New file.
+ * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
+ open64_2.
+ * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat
+ entries.
+ * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
+ * sysdeps/wordsize-64/alphasort.c: New file.
+ * sysdeps/wordsize-64/alphasort64.c: New file.
+ * sysdeps/wordsize-64/fseeko.c: New file.
+ * sysdeps/wordsize-64/fseeko64.c: New file.
+ * sysdeps/wordsize-64/ftello.c: New file.
+ * sysdeps/wordsize-64/ftello64.c: New file.
+ * sysdeps/wordsize-64/ftw.c: New file.
+ * sysdeps/wordsize-64/ftw64.c: New file.
+ * sysdeps/wordsize-64/iofgetpos.c: New file.
+ * sysdeps/wordsize-64/iofgetpos64.c: New file.
+ * sysdeps/wordsize-64/iofopen.c: New file.
+ * sysdeps/wordsize-64/iofopen64.c: New file.
+ * sysdeps/wordsize-64/iofsetpos.c: New file.
+ * sysdeps/wordsize-64/iofsetpos64.c: New file.
+ * sysdeps/wordsize-64/lockf.c: New file.
+ * sysdeps/wordsize-64/lockf64.c: New file.
+ * sysdeps/wordsize-64/mkostemp.c: New file.
+ * sysdeps/wordsize-64/mkostemp64.c: New file.
+ * sysdeps/wordsize-64/mkstemp.c: New file.
+ * sysdeps/wordsize-64/mkstemp64.c: New file.
+ * sysdeps/wordsize-64/scandir.c: New file.
+ * sysdeps/wordsize-64/scandir64.c: New file.
+ * sysdeps/wordsize-64/tmpfile.c: New file.
+ * sysdeps/wordsize-64/tmpfile64.c: New file.
+ * sysdeps/wordsize-64/versionsort.c: New file.
+ * sysdeps/wordsize-64/versionsort64.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file.
+ * sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file.
+
+ * crypt/sha256-crypt.c: Fix a comment.
+ * crypt/sha512-crypt.c: Likewise.
+
2007-11-07 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/memset.S: Add sfence after movnti.
/* Add the key string. */
__sha256_process_bytes (key, key_len, &ctx);
- /* The last part is the salt string. This must be at most 8
- characters and it ends at the first `$' character (for
- compatibility with existing implementations). */
+ /* The last part is the salt string. This must be at most 16
+ characters and it ends at the first `$' character. */
__sha256_process_bytes (salt, salt_len, &ctx);
/* Add the key string. */
__sha512_process_bytes (key, key_len, &ctx);
- /* The last part is the salt string. This must be at most 8
- characters and it ends at the first `$' character (for
- compatibility with existing implementations). */
+ /* The last part is the salt string. This must be at most 16
+ characters and it ends at the first `$' character. */
__sha512_process_bytes (salt, salt_len, &ctx);
ifeq ($(subdir),io)
sysdep_routines += xstatconv internal_statvfs internal_statvfs64 \
- sync_file_range open_2
+ sync_file_range open_2 open64_2
endif
ifeq ($(subdir),elf)
getpriority - getpriority i:ii __getpriority getpriority
+creat - creat Ci:si __libc_creat creat creat64
+open - open Ci:siv __libc_open __open open __open64 open64
+
# semaphore and shm system calls
msgctl - msgctl i:iip __msgctl msgctl
msgget - msgget i:ii __msgget msgget
weak_alias (__libc_open64, __open64)
libc_hidden_weak (__open64)
weak_alias (__libc_open64, open64)
-
-
-#ifndef PTW
-int
-__open64_2 (file, oflag)
- const char *file;
- int oflag;
-{
- if (oflag & O_CREAT)
- __fortify_fail ("invalid open64 call: O_CREAT without mode");
-
- if (SINGLE_THREAD_P)
- return INLINE_SYSCALL (open, 2, file, oflag | O_LARGEFILE);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- int result = INLINE_SYSCALL (open, 2, file, oflag | O_LARGEFILE);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-#endif
--- /dev/null
+/* Copyright (C) 2007 Free Software Foundation, Inc.
+ 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, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <fcntl.h>
+#include <stdio.h>
+
+
+int
+__open64_2 (file, oflag)
+ const char *file;
+ int oflag;
+{
+ if (oflag & O_CREAT)
+ __fortify_fail ("invalid open64 call: O_CREAT without mode");
+
+ return __open64 (file, oflag);
+}
--- /dev/null
+#define aio_read64 __renamed_aio_read64
+
+#include "../../../../pthread/aio_read.c"
+
+#undef aio_read64
+
+weak_alias (aio_read, aio_read64)
--- /dev/null
+/* Defined in aio_read.c. */
--- /dev/null
+#define aio_write64 __renamed_aio_write64
+
+#include "../../../../pthread/aio_write.c"
+
+#undef aio_write64
+
+weak_alias (aio_write, aio_write64)
--- /dev/null
+/* Defined in aio_write.c. */
--- /dev/null
+/* Defined as alias for the syscall. */
--- /dev/null
+#include "../getdirentries.c"
+
+weak_alias (getdirentries, getdirentries64)
--- /dev/null
+/* Defined in getdirentries.c. */
--- /dev/null
+#define lio_listio64 __renamed_lio_listio64
+
+#include "../../../../pthread/lio_listio.c"
+
+#undef lio_listio64
+
+#if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_4)
+strong_alias (__lio_listio_21, __lio_listio64_21)
+compat_symbol (librt, __lio_listio64_21, lio_listio64, GLIBC_2_1);
+#endif
+
+strong_alias (__lio_listio_item_notify, __lio_listio64_item_notify)
+versioned_symbol (librt, __lio_listio64_item_notify, lio_listio64, GLIBC_2_4);
--- /dev/null
+/* Defined in lio_listio.c. */
--- /dev/null
+/* Defined in open syscall. */
--- /dev/null
+#define __openat64 __rename___openat64
+#define __openat64_2 __rename___openat64_2
+#define __openat64_nocancel __rename___openat64_nocancel
+#define openat64 __rename_openat64
+
+#include "../openat.c"
+
+#undef __openat64
+#undef __openat64_2
+#undef __openat64_nocancel
+#undef openat64
+
+weak_alias (__openat, __openat64)
+weak_alias (__openat_2, __openat64_2)
+weak_alias (__openat_nocancel, __openat64_nocancel)
+weak_alias (openat, openat64)
--- /dev/null
+/* Defined in openat.c. */
# File name Caller Syscall name # args Strong name Weak names
arch_prctl EXTRA arch_prctl i:ii __arch_prctl arch_prctl
+creat - creat Ci:si __libc_creat creat creat64
modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt
-
-# semaphore and shm system calls
msgctl - msgctl i:iip __msgctl msgctl
msgget - msgget i:ii __msgget msgget
msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
+open - open Ci:siv __libc_open __open open __open64 open64
shmat - shmat i:ipi __shmat shmat
shmctl - shmctl i:iip __shmctl shmctl
shmdt - shmdt i:s __shmdt shmdt
--- /dev/null
+#include "../../dirent/alphasort.c"
+
+weak_alias (alphasort, alphasort64)
--- /dev/null
+/* Defined in alphasort.c. */
--- /dev/null
+#include "../../libio/fseeko.c"
+
+weak_alias (fseeko, fseeko64)
--- /dev/null
+/* Defined in fseeko.c. */
--- /dev/null
+#include "../../libio/ftello.c"
+
+weak_alias (ftello, ftello64)
--- /dev/null
+/* Defined in ftello.c. */
--- /dev/null
+#define ftw64 __rename_ftw64
+#define nftw64 __rename_nftw64
+
+#include "../../io/ftw.c"
+
+#undef ftw64
+#undef nftw64
+
+weak_alias (ftw, ftw64)
+strong_alias (__new_nftw, __new_nftw64)
+versioned_symbol (libc, __new_nftw64, nftw64, GLIBC_2_3_3);
+
+#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_3_3)
+strong_alias (__old_nftw, __old_nftw64)
+compat_symbol (libc, __old_nftw64, nftw64, GLIBC_2_1);
+#endif
--- /dev/null
+/* Defined in ftw.c. */
--- /dev/null
+#define _IO_new_fgetpos64 __renamed__IO_new_fgetpos64
+#define _IO_fgetpos64 __renamed__IO_fgetpos64
+
+#include "../../libio/iofgetpos.c"
+
+#undef _IO_new_fgetpos64
+#undef _IO_fgetpos64
+
+strong_alias (_IO_new_fgetpos, _IO_new_fgetpos64)
+strong_alias (_IO_new_fgetpos64, __new_fgetpos64)
+versioned_symbol (libc, _IO_new_fgetpos64, _IO_fgetpos64, GLIBC_2_2);
+versioned_symbol (libc, __new_fgetpos64, fgetpos64, GLIBC_2_2);
--- /dev/null
+/* Defined in iofgetpos.c. */
--- /dev/null
+#include "../../libio/iofopen.c"
+
+weak_alias (_IO_new_fopen, _IO_fopen64)
+weak_alias (_IO_new_fopen, fopen64)
--- /dev/null
+/* Defined in iofopen.c. */
--- /dev/null
+#define _IO_new_fsetpos64 __renamed__IO_new_fsetpos64
+#define _IO_fsetpos64 __renamed__IO_fsetpos64
+
+#include "../../libio/iofsetpos.c"
+
+#undef _IO_new_fsetpos64
+#undef _IO_fsetpos64
+
+strong_alias (_IO_new_fsetpos, _IO_new_fsetpos64)
+strong_alias (_IO_new_fsetpos64, __new_fsetpos64)
+versioned_symbol (libc, __new_fsetpos64, fsetpos64, GLIBC_2_2);
+versioned_symbol (libc, _IO_new_fsetpos64, _IO_fsetpos64, GLIBC_2_2);
--- /dev/null
+/* Defined in iofsetpos.c. */
--- /dev/null
+#include "../../io/lockf.c"
+
+weak_alias (lockf, lockf64)
--- /dev/null
+/* Defined in lockf.c. */
--- /dev/null
+#include "../../misc/mkostemp.c"
+
+weak_alias (mkostemp, mkostemp64)
--- /dev/null
+/* Defined in mkostemp.c. */
--- /dev/null
+#include "../../misc/mkstemp.c"
+
+weak_alias (mkstemp, mkstemp64)
--- /dev/null
+/* Defined in mkstemp.c. */
--- /dev/null
+#define scandir64 scandir64_renamed
+
+#include "../../dirent/scandir.c"
+
+#undef scandir64
+weak_alias (scandir, scandir64)
--- /dev/null
+/* Defined in scandir.c. */
--- /dev/null
+#include "../../stdio-common/tmpfile.c"
+
+weak_alias (__new_tmpfile, tmpfile64)
--- /dev/null
+/* Defined in tmpfile.c. */
--- /dev/null
+#include "../../dirent/versionsort.c"
+
+weak_alias (versionsort, versionsort64)
--- /dev/null
+/* Defined in versionsort.c. */