On Sat, Aug 25, 2012 at 11:32 AM, Roland Mainz <roland.ma...@nrubsig.org> wrote:
> Attached (as "astksh_fsat_emu_tacked_on001.diff.txt") is a _prototype_
> patch which tacks the |*at()|-API emulation on ast-ksh...
>
> Notes:
> - This is a prototype
> - The patch has a switch which selects either the platforms native
> |*at()| API or the emulation
> - The code has only been "tacked" on and is not properly integrated
> (e.g. see lots of warnings about redefined cpp symbols)
> - The patch passes the ksh93 test suite with and without |USE_NATIVE_AT_API| 
> set
> - The |*at()|-emulation is not complete yet... missing functions are
> |readlinkat()|, |sumlinkat()| and |utimensat()| ... I'll add them when
> Glenn gives the OK for the general idea (see "goal" below)
> - Final goal would be that src/cmd/ksh93 and src/lib/libcmd only use
> the |*at()| API... either the native OS version or the emulation if
> the underlying OS does not have the |*at()| APIs

Grumpf... I forgot some notes:
1. The code currently works only on 64bit machines since only there is
|stat()| identical to |stat64()|

2. The code can be compiled in three ways:
a) With /dev/fd usage (this should be the default... including a
runtime test whether /dev/fd is there) $ (CC='gcc -D_map_libc=1
-D_GNU_SOURCE=1 -DASTOPENATEMU_USE_DEVFD=1 ' nice ksh ./bin/package
make) #
b) Without /dev/fd usage $ (CC='gcc -D_map_libc=1 -D_GNU_SOURCE=1 '
nice ksh ./bin/package make) #
c) Using native |*at()| API $ (CC='gcc -D_map_libc=1 -D_GNU_SOURCE=1
-DUSE_NATIVE_AT_API=1' nice ksh ./bin/package make) #

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.ma...@nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)
_______________________________________________
ast-developers mailing list
ast-developers@research.att.com
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to