* 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.
This commit is contained in:
Ulrich Drepper 2007-11-10 19:36:06 +00:00
parent cbed6a607d
commit 7f745396c4
46 changed files with 233 additions and 32 deletions

View File

@ -1,3 +1,54 @@
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.

View File

@ -129,9 +129,8 @@ __sha256_crypt_r (key, salt, buffer, buflen)
/* 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);

View File

@ -129,9 +129,8 @@ __sha512_crypt_r (key, salt, buffer, buflen)
/* 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);

View File

@ -138,7 +138,7 @@ endif
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)

View File

@ -4,6 +4,9 @@ umount2 - umount 2 __umount2 umount2
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

View File

@ -52,26 +52,3 @@ __libc_open64 (const char *file, int oflag, ...)
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

View File

@ -0,0 +1,32 @@
/* 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);
}

View File

@ -0,0 +1,7 @@
#define aio_read64 __renamed_aio_read64
#include "../../../../pthread/aio_read.c"
#undef aio_read64
weak_alias (aio_read, aio_read64)

View File

@ -0,0 +1 @@
/* Defined in aio_read.c. */

View File

@ -0,0 +1,7 @@
#define aio_write64 __renamed_aio_write64
#include "../../../../pthread/aio_write.c"
#undef aio_write64
weak_alias (aio_write, aio_write64)

View File

@ -0,0 +1 @@
/* Defined in aio_write.c. */

View File

@ -0,0 +1 @@
/* Defined as alias for the syscall. */

View File

@ -0,0 +1,3 @@
#include "../getdirentries.c"
weak_alias (getdirentries, getdirentries64)

View File

@ -0,0 +1 @@
/* Defined in getdirentries.c. */

View File

@ -0,0 +1,13 @@
#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);

View File

@ -0,0 +1 @@
/* Defined in lio_listio.c. */

View File

@ -0,0 +1 @@
/* Defined in open syscall. */

View File

@ -0,0 +1,16 @@
#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)

View File

@ -0,0 +1 @@
/* Defined in openat.c. */

View File

@ -1,13 +1,13 @@
# 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

View File

@ -0,0 +1,3 @@
#include "../../dirent/alphasort.c"
weak_alias (alphasort, alphasort64)

View File

@ -0,0 +1 @@
/* Defined in alphasort.c. */

View File

@ -0,0 +1,3 @@
#include "../../libio/fseeko.c"
weak_alias (fseeko, fseeko64)

View File

@ -0,0 +1 @@
/* Defined in fseeko.c. */

View File

@ -0,0 +1,3 @@
#include "../../libio/ftello.c"
weak_alias (ftello, ftello64)

View File

@ -0,0 +1 @@
/* Defined in ftello.c. */

16
sysdeps/wordsize-64/ftw.c Normal file
View File

@ -0,0 +1,16 @@
#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

View File

@ -0,0 +1 @@
/* Defined in ftw.c. */

View File

@ -0,0 +1,12 @@
#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);

View File

@ -0,0 +1 @@
/* Defined in iofgetpos.c. */

View File

@ -0,0 +1,4 @@
#include "../../libio/iofopen.c"
weak_alias (_IO_new_fopen, _IO_fopen64)
weak_alias (_IO_new_fopen, fopen64)

View File

@ -0,0 +1 @@
/* Defined in iofopen.c. */

View File

@ -0,0 +1,12 @@
#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);

View File

@ -0,0 +1 @@
/* Defined in iofsetpos.c. */

View File

@ -0,0 +1,3 @@
#include "../../io/lockf.c"
weak_alias (lockf, lockf64)

View File

@ -0,0 +1 @@
/* Defined in lockf.c. */

View File

@ -0,0 +1,3 @@
#include "../../misc/mkostemp.c"
weak_alias (mkostemp, mkostemp64)

View File

@ -0,0 +1 @@
/* Defined in mkostemp.c. */

View File

@ -0,0 +1,3 @@
#include "../../misc/mkstemp.c"
weak_alias (mkstemp, mkstemp64)

View File

@ -0,0 +1 @@
/* Defined in mkstemp.c. */

View File

@ -0,0 +1,6 @@
#define scandir64 scandir64_renamed
#include "../../dirent/scandir.c"
#undef scandir64
weak_alias (scandir, scandir64)

View File

@ -0,0 +1 @@
/* Defined in scandir.c. */

View File

@ -0,0 +1,3 @@
#include "../../stdio-common/tmpfile.c"
weak_alias (__new_tmpfile, tmpfile64)

View File

@ -0,0 +1 @@
/* Defined in tmpfile.c. */

View File

@ -0,0 +1,3 @@
#include "../../dirent/versionsort.c"
weak_alias (versionsort, versionsort64)

View File

@ -0,0 +1 @@
/* Defined in versionsort.c. */