From: Loïc M. <lo...@vi...> - 2008-12-20 11:01:19
|
Hi, Riku Voipio told me make check was failing on ARM; see: http://experimental.debian.net/fetch.php?&pkg=mpeg2dec&ver=0.5.1-1&arch=armel&stamp=1229436558&file=log&as=raw these are symbols in an ARM specific assembly file. See attached patch 60_arm-private-symbols for a fix. However even with this patch, the testsuite doesn't pass because a) it checks all object files instead of the final object files (i.e. the libs) and b) it uses nm which will report all global symbols in object files, ignoring the visibility attribute (these symbols are necessarily globals, yet aren't part of the ABI because they are of internal visibility). So I rewrote the globals test to verify the shared libraries, to check for more things, and to avoid duplication. See attached patch 61_global-symbol-test. Note however than in a --disable-shared build, this test is now a no-op. I think that's good enough as I expect distros and upstream releases to make check with shared libs enabled. If we want to run this check on static libraries, it will need to be based on something else than nm, perhaps objdump, and is likely to be more complex (objdump output is more complex and we need to test for scope and visibility ourselves). Cheers, -- Loïc Minier |