The strace use in the tests didn't work for me, so I altered it to actually write some data and flush it repeatedly, and then timed that with and without the LD_PRELOAD to prove that it is actually working: $ time LD_PRELOAD=./libeatmydata.so ./fsynctest real 0m0.022s user 0m0.009s sys 0m0.014s $ time ./fsynctest real 0m1.687s user 0m0.016s sys 0m0.382s Here's the versions of OS, GCC, and ld I tested with: $ uname -a SunOS login 5.10 Generic_142900-01 sun4v sparc SUNW,SPARC-Enterprise-T5220 $ gcc --version gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ ld -V ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.497