thanks philippe src/lib/libast/features/fcntl.c assumed that all system O_* values were single bits -- not the case in linux and probably other systems working on a fix today
On Fri, 19 Jul 2013 13:54:42 +0200 Philippe Bergheaud wrote: > On the following platform: > Linux version 2.6.32-5-686 (Debian 2.6.32-46) > gcc version 4.3.5 (Debian 4.3.5-4) > ksh93 compiles, but fails to initialize: > $ strace ~/ast-base.2013-06-28/arch/linux.i386/bin/ksh > [...] > openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECT) = -1 EINVAL (Invalid > argument) > write(2, "ksh: Can't obtain directory fd. "..., 51ksh: Can't obtain > directory fd. [Invalid argument]) = 51 > --- SIGSEGV (Segmentation fault) @ 0 (0) --- > +++ killed by SIGSEGV +++ > Memory fault > the cause for EINVAL is the flag displayed by strace as O_DIRECT > it happens that O_DIRECT and O_SEARCH collide: both of them are 040000 > nullifying O_SEARCH with #define O_SEARCH 0 is a possible workaround > (but probably not a fix) > Philippe > _______________________________________________ > ast-users mailing list > [email protected] > http://lists.research.att.com/mailman/listinfo/ast-users _______________________________________________ ast-users mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-users
