3-arg faccessat is unfortunately an incomplete implementation.
It does not match user-space needs, for example due to wrong answer
when egid != gid.
dash started to detect klibc faccessat() syscall wrapper.
Signed-off-by: maximilian attems <max at stro.at>
---
usr/include/unistd.h | 1 -
usr/klibc/SYSCALLS.def | 3 ++-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/usr/include/unistd.h b/usr/include/unistd.h
index 547e717..97760d4 100644
--- a/usr/include/unistd.h
+++ b/usr/include/unistd.h
@@ -58,7 +58,6 @@ __extern int setfsuid(uid_t);
#define F_OK 0 /* Existence */
__extern int access(const char *, int);
-__extern int faccessat(int, const char *, int);
__extern int link(const char *, const char *);
__extern int linkat(int, const char *, int, const char *);
__extern int unlink(const char *);
diff --git a/usr/klibc/SYSCALLS.def b/usr/klibc/SYSCALLS.def
index ae58b9b..ba0e5b9 100644
--- a/usr/klibc/SYSCALLS.def
+++ b/usr/klibc/SYSCALLS.def
@@ -98,7 +98,8 @@ int swapoff(const char *);
* Inode-related system calls
*/
int access(const char *, int);
-<?> int faccessat(int, const char *, int);
+/* Hide incomplete implementation */
+<?> int faccessat::__faccessat(int, const char *, int);
int link(const char *, const char *);
<?> int linkat(int, const char *, int, const char *);
int unlink(const char *);
--
1.7.0.4
Aleksey Cheusov (1):
[klibc] [BUILD] Fixed build on NetBSD
Colin Watson (1):
[klibc] fstype: recognise ext4 without journal
Dan McGee (2):
[klibc] [SHELL] Fixed klibc/klcc build problems
[klibc] [SHELL] Added gitignore
Eric Blake (1):
[klibc] [BUILTIN] Avoid compiler warnings on isdigit
Gerrit Pape (2):
[klibc] [ARITH] If imaxdiv() isn't available, use / and % operators
[klibc] [ARITH] Fixed lexical error on & and |
H. Peter Anvin (1):
[klibc] [JOBS] Fix for job control off warning
Herbert Xu (63):
[klibc] [SHELL] Restore foreground process group on exit
[klibc] [SHELL] Move flushall to the point just before _exit
[klibc] [EXPAND] Do not quote back slashes in parameter expansions outside
quotes
[klibc] [EXPAND] Perform tilde expansion in all parameter expansion words
[klibc] [PARSER] Remove superfluous arinest test in CENDQUOTE
[klibc] [PARSER] Remove superfluous arinest test for dqvarnest
[klibc] [PARSER] Remove superfluous dblquote settings when ending arith
[klibc] [PARSER] Remove arithmetic expansion collapsing at parse time
[klibc] [EXPAND] Do not expand tilde in parameter expansion within quotes
[klibc] [EXPAND] Move parse-time quote flag detection to run-time
[klibc] [PARSER] Recognise here-doc delimiters terminated by EOF
[klibc] [PARSER] Fix parsing of ${##1}
[klibc] [PARSER] Size optimisations in parameter expansion parser
[klibc] [MEMALLOC] Made grabstackblock an inline wrapper for stalloc
[klibc] [MEMALLOC] Add pushstackmark
[klibc] [BUILTIN] Treat OPTIND=0 in the same way as OPTIND=1
[klibc] [VAR] Remove setvarsafe
[klibc] [BUILTIN] Use intmax_t arithmetic in test
[klibc] [PARSER] Report substition errors at expansion time
[klibc] [ARITH] Add assignment and intmax_t support
[klibc] [ARITH] Size optimisations in arithmetic lexer
[klibc] [EXPAND] Add likely flags in expari
[klibc] [BUILTIN] Use setvarint to set OPTIND
[klibc] [EXEC] Fixed execing of scripts with no hash-bang
[klibc] [SHELL] Replace shared illnum message by badnum function.
[klibc] [EXPAND] Added configure --enable-glob and --enable-fnmatch
options
[klibc] [PARSER] Fix here-doc corruption
[klibc] [PARSER] Removed noexpand/length check on eofmark
[klibc] [EXPAND] Removed herefd hack
[klibc] [EXPAND] Expand here-documents in the current shell environment
[klibc] [PARSER] Add FAKEEOFMARK for expandstr
[klibc] [PARSER] Do not show prompts in expandstr
[klibc] [EXPAND] Fix slash treatment in expmeta
[klibc] [EXEC] Fixed _PATH_BSHELL warning
[klibc] [ERROR] Set default exvwarning2 arg0 for errors during early
initialisation
[klibc] [CD] Restored non-glibc getcwd support
[klibc] [CD] Test __GLIBC__ instead of _GNU_SOURCE
[klibc] [CD] Restored warning when getcwd fails
[klibc] [SHELL] Use uninitialized_var to silence bogus warnings
[klibc] [EXPAND] Fixed non-leading slash treatment in expmeta
[klibc] [BUILTIN] Fixed 3,4-argument cases for test per POSIX
[klibc] [BUILTIN] Made aexpr/oexpr non-recursive
[klibc] [BUILTIN] Made t_lex reentrant
[klibc] [INPUT] Made setinputfd static
[klibc] [SHELL] Expand ENV before using it
[klibc] [OPTIONS] Added support for -l
[klibc] [JOBS] Fix dowait signal race
[klibc] [SIGNAL] Remove EXSIG
[klibc] [JOBS] Do not close stderr when /dev/tty fails to open
[klibc] [PARSER] Allow newlines after var name in for statements
[klibc] [PARSER] Use CHKNL to parse case statements
[klibc] [REDIR] Fix incorrect savefd conversions
[klibc] [EXPAND] Fix quoted pattern patch breakage
[klibc] [EVAL] Pass EV_TESTED into evalcmd
[klibc] [EVAL] Revert SKIPEVAL into EXEXIT
[klibc] [BUILTIN] Fix NUL termination in readcmd
[klibc] [CD] Lookup PWD after going through CDPATH
[klibc] [BUILTIN] Fix off-by-one recordregion in readcmd
[klibc] [ARITH] Fix binary operator parsing
[klibc] [REDIR] Do not truncate file for FROMTO redirection
[klibc] [BUILTIN] Make trap signal name/number errors non-fatal.
Release 0.5.6.
[klibc] [BUILTIN] Use faccessat if available
Jilles Tjoelker (1):
[klibc] [ARITH] Fix logical or result value
Jim Meyering (1):
[klibc] [PARSER] Fix syntax array size
Larry Doolittle (1):
[klibc] [JOBS] Fix cmdtxt crash on if statements
Mark Mentovai (1):
[klibc] [BUILD] Fixed build on OS X
Matthew Burgess (1):
[klibc] [BUILTIN] Add another missing LC_COLLATE to mkbuiltins
Mike Waychison (1):
[klibc] ipconfig: Use memcpy to avoid strict aliasing warnings.
Nobuhiro Iwamatsu (1):
[klibc] sh4 build fix
Oleg Verych (3):
[klibc] [BUILTIN] test: White space fixes
[klibc] [BUILTIN] test: little size and speed optimizations
[klibc] [BUILTIN] Disallow completely blank strings in non-arithmetic
context.
Richard M Kreuter (1):
[klibc] [BUILTIN] Add set +o support
Rocky Bernstein (1):
[klibc] [SHELL] Add preliminary LINENO support
Roy Marples (1):
[klibc] [EXPAND] Refresh stack pointers after makestrspace in _rmescapes
Stefan Potyra (1):
[klibc] [BUILTIN] Honor tab as IFS whitespace when splitting fields in
readcmd
Steve Langasek (1):
[klibc] [EVAL] Fix bad pointer arithmetic in evalcommand
maximilian attems (13):
[klibc] mv worthwile README's to ease packaging
[klibc] document klibc dash sync procedure
[klibc] dash update config.h
[klibc] gitignore fixup for test dir
[klibc] add testcase for future arch socket foo
[klibc] README update arch status
[klibc] ipconfig: use dprintf on DEBUG
[klibc] nfsmount: use dprintf on DEBUG
[klibc] kinit: use dprintf on DEBUG
[klibc] fstype: btrfs support
[klibc] dash: cd fix getpwd
[klibc] dash update sync commit
[klibc] pull faccessat() system call
Makefile | 2 +-
README | 2 +-
klibc.spec.in | 6 +-
usr/dash/.gitignore | 12 +-
usr/dash/Kbuild | 21 +--
usr/dash/README.dash | 25 ++
usr/dash/README.klibc | 7 -
usr/dash/TOUR | 12 +-
usr/dash/arith.y | 155 ------------
usr/dash/arith_yacc.c | 314 ++++++++++++++++++++++++
usr/dash/arith_yacc.h | 89 +++++++
usr/dash/arith_yylex.c | 163 +++++++++----
usr/dash/bltin/test.c | 194 +++++++++------
usr/dash/builtins.def.in | 3 +-
usr/dash/cd.c | 36 ++-
usr/dash/config.h | 95 +++++++-
usr/dash/error.c | 16 +-
usr/dash/error.h | 11 -
usr/dash/eval.c | 73 +++---
usr/dash/eval.h | 1 -
usr/dash/exec.c | 21 +--
usr/dash/expand.c | 228 ++++++++----------
usr/dash/expand.h | 12 +-
usr/dash/histedit.c | 4 +-
usr/dash/input.c | 42 +---
usr/dash/input.h | 3 +-
usr/dash/jobs.c | 93 ++++----
usr/dash/jobs.h | 2 +-
usr/dash/main.c | 18 +-
usr/dash/memalloc.c | 39 +---
usr/dash/memalloc.h | 9 +-
usr/dash/miscbltin.c | 99 +++++---
usr/dash/mkbuiltins | 5 +-
usr/dash/mksyntax.c | 6 +-
usr/dash/mystring.c | 55 ++++-
usr/dash/mystring.h | 6 +-
usr/dash/options.c | 86 ++++---
usr/dash/options.h | 2 +-
usr/dash/parser.c | 235 +++++++++---------
usr/dash/parser.h | 4 +-
usr/dash/redir.c | 32 ++-
usr/dash/redir.h | 2 +-
usr/dash/shell.h | 10 +
usr/dash/show.c | 3 -
usr/dash/system.h | 6 +
usr/dash/trap.c | 35 ++-
usr/dash/trap.h | 2 +-
usr/dash/var.c | 46 ++--
usr/dash/var.h | 5 +-
usr/include/unistd.h | 1 -
usr/kinit/do_mounts.c | 22 +-
usr/kinit/do_mounts_mtd.c | 4 +-
usr/kinit/fstype/btrfs.h | 57 +++++
usr/kinit/fstype/fstype.c | 22 +-
usr/kinit/initrd.c | 24 +-
usr/kinit/ipconfig/{README => README.ipconfig} | 0
usr/kinit/ipconfig/bootp_proto.c | 4 +-
usr/kinit/ipconfig/dhcp_proto.c | 22 +-
usr/kinit/ipconfig/ipconfig.h | 15 +-
usr/kinit/ipconfig/main.c | 15 +-
usr/kinit/ipconfig/netdev.c | 27 ++-
usr/kinit/ipconfig/packet.c | 27 +-
usr/kinit/kinit.c | 12 +-
usr/kinit/kinit.h | 10 +-
usr/kinit/name_to_dev.c | 6 +-
usr/kinit/nfsmount/mount.c | 6 +-
usr/kinit/nfsmount/nfsmount.h | 16 +-
usr/kinit/nfsmount/portmap.c | 4 +-
usr/kinit/nfsmount/sunrpc.c | 6 +-
usr/kinit/nfsroot.c | 5 +-
usr/kinit/ramdisk_load.c | 12 +-
usr/kinit/resume/resumelib.c | 2 +-
usr/klibc/.gitignore | 1 +
usr/klibc/{README => README.klibc} | 5 +-
usr/klibc/SYSCALLS.def | 3 +-
usr/klibc/arch/{README => README.klibc.arch} | 0
usr/klibc/tests/Kbuild | 1 +
usr/klibc/tests/socket.c | 19 ++
78 files changed, 1632 insertions(+), 1063 deletions(-)
create mode 100644 usr/dash/README.dash
delete mode 100644 usr/dash/README.klibc
delete mode 100644 usr/dash/arith.y
create mode 100644 usr/dash/arith_yacc.c
create mode 100644 usr/dash/arith_yacc.h
create mode 100644 usr/kinit/fstype/btrfs.h
rename usr/kinit/ipconfig/{README => README.ipconfig} (100%)
rename usr/klibc/{README => README.klibc} (96%)
rename usr/klibc/arch/{README => README.klibc.arch} (100%)
create mode 100644 usr/klibc/tests/socket.c
thanks
--
maks