commit e0ba75f4d5fcc9fd6e1f416987f9b9ae4747e5cd Author: Alberto Bertogli Date: Fri Aug 14 23:16:17 2015 +0100 libfiu 0.94 commit e2a7a5a026c26cfea06d1a19fd5fbe12edf44612 Author: Alberto Bertogli Date: Fri Aug 14 23:24:29 2015 +0100 tests/collisions: Reorder cc command line to fix compile errors In Ubuntu's gcc 4.9.2-10ubuntu13 we get the following errors when building the tests: $ cc -I../../libfiu/ -L../../libfiu/ -L./ -D_XOPEN_SOURCE=600 -D_GNU_SOURCE -fPIC -DFIU_ENABLE=1 -std=c99 -pedantic -Wall -rdynamic -L. -lfiu -lcoltest binary.c -o binary /tmp/ccoma62o.o: In function `main': binary.c:(.text+0x22): undefined reference to `called_wtable_get' binary.c:(.text+0x2f): undefined reference to `called_wtable_get' binary.c:(.text+0x53): undefined reference to `wtable_get' binary.c:(.text+0x5a): undefined reference to `called_wtable_get' binary.c:(.text+0x68): undefined reference to `called_wtable_get' collect2: error: ld returned 1 exit status Reordering the command line fixes this, as the symbols now get processed in the right order. commit 5084cd7cc2cd8cf3742a201e4554d522ad66758e Author: Alberto Bertogli Date: Sat Aug 8 01:22:46 2015 +0100 preload/posix: Fix gcc version check The current gcc version check is wrong, and breaks with gcc 5. This patch fixes this by using a more future-proof logic for version checking. commit 745f0f656181fface3a9394f3f8a9c7342e4cb7e Author: Alberto Bertogli Date: Sun Aug 2 23:41:08 2015 +0100 tests: Add a test for symbol collision If we don't build libfiu properly, it can export unwanted symbols that can collide with other libraries and cause trouble. This patch adds a test for this situation, using a couple of symbols from wtable to check that they don't get exported. commit f16b8a8b3a13f18b0c2c8a4454e237125dc53704 Author: Alberto Bertogli Date: Mon Aug 3 00:50:47 2015 +0100 libfiu: Filter the list of exported symbols The library currently exports some symbols, like hash_create, which are not meant to be exported and can cause collisions with other libraries. This patch introduces a list of explicitly exported symbols used by the linker to generate the shared library accordingly. Thanks to Tim Cuthbertson for reporting the problem and sending a patch. commit d4239ee4a5f8c4a5e199fb462b25e4415a4c5d95 Author: Alberto Bertogli Date: Sun Aug 2 15:33:00 2015 +0100 tests: Make random tests more robust Some of the tests which check the random operations depend on /bin/cat doing I/O operations a certain way, which is not portable and not very accurate either. This results in these tests occasionally failing without good reason. To fix that, we introduce a small "cat" implementation with very simple and predictable I/O, which we can rely upon in the tests. commit 3a43154e54a11f4db7b47c08eb38228ec0127049 Author: Alberto Bertogli Date: Sun Aug 2 14:42:53 2015 +0100 tests: Add a test for cache invalidation This patch adds some tests which perform operations that rely on cache invalidation working correctly. commit daa8a5c4ba3b9669d2f4869fc43b84da5e08ab2f Author: Tim Cuthbertson Date: Thu Jul 30 09:36:14 2015 +1000 wtable: invalidate cache when adding an entry This fixes a bug where a cached negative result would cause a failure to be skipped even after a matching failure point is added. commit f29b6bc48767020dc0a71c400ccb0b9be65c414f Author: Charles Hardin Date: Mon Jul 20 19:59:39 2015 +0000 make: support parallel building with dependency on build-env.h codegen needs to build after build-env.h since it is dependent upon it. This fixes a parallel build error commit 5f5577acbd198d7d6eec813cf434f6c3e1feb9d1 Author: Alberto Bertogli Date: Tue Jul 29 21:10:24 2014 +0100 preload/posix: Wrap open64() In 32-bit platforms, glibc commonly uses open64(), but we are not wrapping it. That causes us not be able to do something as simple as fail "cat" (which coincidentally is what our fiu-run test does, causing it to fail). This patch adds open64 to our custom wrapper. To do that, instead of duplicating the custom wrapper we split the top code generation macro into three smaller pieces, as we only need to customize one of them. commit 1d914a6b96fd121153c53087f7cc345a23433767 Author: Alberto Bertogli Date: Tue Jul 29 20:48:52 2014 +0100 preload/posix: Log failures when POSIX_TRACE=1 When POSIX_TRACE=1, do a printd() indicating that we are failing the call, to make debugging easier.