Hello Guido,
On Wed, Jan 09, 2019 at 11:55:50PM +0100, Guido Witmond wrote:
I created the lib/symbols/hammer file by
! tool/abi_symbols bin/hammer.lib.so
Then I run the build:
! ~/genode/tool/depot/create guido/bin/x86_64/hammer UPDATE_VERSIONS=1 FORCE=1 KEEP_BUILD_DIR=1
It starts good: ! created guido/api/base/2018-11-23 ! created guido/api/hammer/2019-01-08 ! created guido/api/libc/2018-11-26 ! created guido/src/hammer/2019-01-08-a
However, I get this error during the compile of hammer. ! MERGE hammer.lib.so ! Error: hammer ABI contains Genode-internal symbol '__bss_start', ! Error: hammer ABI contains Genode-internal symbol '__eh_frame_start__' all from the symbol_blacklist defined in check_abi.
It ends with this error: recipe for target 'hammer.lib.checked' failed
I suggest you remove symbols from the list that should not be exported by the library. The same is true for expat
/tool/abi_symbols build/x86_64/var/libcache/expat/expat.lib.so > /tmp/expat.symbols diff -u repos/libports/lib/symbols/expat /tmp/expat.symbols
--- repos/libports/lib/symbols/expat 2018-12-05 16:27:41.427653704 +0100 +++ /tmp/expat.symbols 2019-01-10 09:26:40.289152230 +0100 @@ -79,3 +79,16 @@ XmlSizeOfUnknownEncoding T XmlUtf16Encode T XmlUtf8Encode T +__bss_start R 0 +__eh_frame_start__ R 0 +__exidx_end D 0 +__exidx_start D 0 +__l4sys_invoke_indirect D 0 +_ctors_end D 0 +_ctors_start D 0 +_edata R 0 +_end R 0 +_init T +_parent_cap D 0 +_parent_cap_local_name D 0 +_parent_cap_thread_id D 0
The abi_symbols tool is just a handy utility to generate a list of potential ABI symbols, which must be manually amended/checked.
Greets