Undefined references when extending Child in repo "Base"

Sebastian Sumpf Sebastian.Sumpf at genode-labs.com
Mon Jul 6 20:00:54 CEST 2020

Hi Simon,

On 7/6/20 1:49 PM, Simon Himmelbauer wrote:
> Hi Sebastian,
>> In case you want to call 'Child::test_print()' from outside of the base
>> library (e.g., a dynamically linked program), you need to add the
>> mangled 'Child::test_print' symbol to the Genode base library symbol
>> file [1]. This way the dynamic linker can find and export the function.
>> [1] repos/base/lib/symbols/ld
> Thanks for your help, I could fix the problem. However, I am wondering
> whether there is an automated way to insert the mangled symbols? It
> seems cumbersome to add every symbol by hand.

Since Genode aims for API stability - especially at the base library
level - changes/additions to the base API are taken in a very careful
and backward compatible manner. Therefore, the symbol file is currently
adjusted by hand. See also the comment within the header of the 'ld' file:

> # The original version of this file is based on the output of the
> # 'tool/abi_symbols' tool with 'ld-<platform>.lib.so' used as argument.
> # However, this tool was solely used as a starting point for the - now
> # manually maintained - file.


Sebastian Sumpf
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list