|
From: | Paul Eggert |
Subject: | bug#29231: 26.0.90; invald file name for symbolic files |
Date: | Sat, 11 Nov 2017 15:21:26 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
Alan Third wrote:
Only with symlinks faccessat returns success if it’s pointing to a file and you put ‘/’ on the end.
This is a well-known problem on macOS, and Emacs is supposed to compile a replacement fstatat function by building lib/fstatat.o and linking to that, and this replacement is supposed to implement the POSIX-required behavior where a trailing / works only on directories (or symlinks to directories, if following symlinks).
Evidently this replacement procedure is not working somehow. Please tell us whether the executable contains an fstatat workaround. You can do that via something like this:
$ gdb src/temacs (gdb) disas rpl_fstatat and I'd like to see the output of the 'disas' command.Also, what are the values of the following macros in src/config.h? (The values on GNU/Linux are as shown.)
#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 #define HAVE_FSTATAT 1 /* #undef HAVE_WORKING_FSTATAT_ZERO_FLAG */
[Prev in Thread] | Current Thread | [Next in Thread] |