Hi Richard, Richard Frith-Macdonald wrote: > I don't know how that could fail 'many tests', because the only place in the > entire sourcecode that uses strnstr is the GSMime tests. > For that file, I simply changed the local function name to avoid conflict > with the BSD function.
ineed there are sure other errors, still it helped some. I proposed hiding and using the system version on NetBSD, but both solutions work. The situation on NetBSD/amd64/libobj2 s now: 7767 Passed tests 46 Failed files 32 Dashed hopes 8 Failed tests The situation on NetBSD/sparc64/gcc is now: 9398 Passed tests 54 Failed tests 46 Dashed hopes 14 Skipped sets The numbers are quite different.... On amd64 i see this: Passed test: NSZone.m:32 ... NSZoneFree() calloc'd buffer Throwing 0x6f81c0c16298, in flight exception: 0x0 Exception caught by C++: 0 ./obj/NSZone: Uncaught exception NSMallocException, reason: Attempt to free freed memory Failed file: NSZone.m aborted without running all tests! it is repeated in different tests, like this: Passed test: create.m:26 ... +array creates an empty array Throwing 0x78e4ea2142c8, in flight exception: 0x0 Exception caught by C++: 0 ./obj/create: Uncaught exception NSInvalidArgumentException, reason: Tried to init array with nil object Failed file: create.m aborted without running all tests! I think this is libobjc2's fault? On NetBSD/sparc64 - gcc 7.5 the same test passes: Passed test: general.m:70 ... -subarrayWithRange: seems ok Passed test: general.m:72 ... -subarrayWithRange with invalid range I will dig out an Intel NetBSD machine with GCC to make the baseline tests and see the errors left and compare Intel to SPARC64, best to solve the eventually OS dependent bugs before digging into CPU issues. I think libobjc2 has issues with C++ exceptions Riccardo