This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
open64 on alpha
- From: Richard Henderson <rth at twiddle dot net>
- To: libc-alpha at gcc dot gnu dot org
- Date: Fri, 20 Jun 2003 09:59:15 -0700
- Subject: open64 on alpha
The kernel automatically forces O_LARGEFILE for 64-bit targets.
Thus the following should also apply to others as well.
Question: Seems like just smushing all the open64 names on the
end of the open syscall changes behaviour wrt __libc_open64.
It goes from a strong name to a weak name. So I implemented a
"!" notation that allows strong names to be added to the syscall
list as well. Is this useful, or am I paranoid?
Ok?
r~
* sysdeps/unix/make-syscalls.sh: Implement ! prefix for strong aliases.
* sysdeps/unix/sysv/linux/alpha/syscalls.list (open, open64): New.
Index: sysdeps/unix/make-syscalls.sh
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/make-syscalls.sh,v
retrieving revision 1.35
diff -c -p -d -r1.35 make-syscalls.sh
*** sysdeps/unix/make-syscalls.sh 26 Mar 2003 22:49:15 -0000 1.35
--- sysdeps/unix/make-syscalls.sh 20 Jun 2003 16:54:19 -0000
*************** shared-only-routines += $file
*** 202,207 ****
--- 202,212 ----
fi
echo " echo 'symbol_version($source, $base, $ver)'; \\"
;;
+ !*)
+ name=`echo $name | sed 's/.//'`
+ echo " echo 'strong_alias ($strong, $name)'; \\"
+ echo " echo 'libc_hidden_def ($name)'; \\"
+ ;;
*)
echo " echo 'weak_alias ($strong, $name)'; \\"
echo " echo 'libc_hidden_weak ($name)'; \\"
Index: sysdeps/unix/sysv/linux/alpha/syscalls.list
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/syscalls.list,v
retrieving revision 1.57
diff -c -p -d -r1.57 syscalls.list
*** sysdeps/unix/sysv/linux/alpha/syscalls.list 20 Jun 2003 16:24:36 -0000 1.57
--- sysdeps/unix/sysv/linux/alpha/syscalls.list 20 Jun 2003 16:54:20 -0000
*************** ftruncate - ftruncate 2 __ftruncate ftru
*** 32,37 ****
--- 32,39 ----
truncate - truncate 2 truncate truncate64
readahead - readahead 3 __readahead readahead
sendfile - sendfile i:iipi sendfile sendfile64
+ open - open Ci:siv __libc_open __open open !__libc_open64 __open64 open64
+ open64 open -
# proper socket implementations:
accept - accept Ci:iBN __libc_accept __accept accept