Goa: build libraries fails on arm_v8a

Sebastian Sumpf Sebastian.Sumpf at genode-labs.com
Thu Feb 2 10:09:41 CET 2023

Hello Pirmin,

On 2/2/23 09:58, Duss Pirmin wrote:
> Good morning Sebastian
> On 01.02.23 17:23, Sebastian Sumpf wrote:
>> ! genode-aarch64-objdump -ph libc++.lib.so
> I have done this for the following combinations:
> library              x86_64       arm_v8a
> ------------------+-------------+-----------
> libunwind.lib.so  |   X         |  X
> libc++abi.lib.so  |   X         |  X
> libc++.lib.so     |   X         |
> I'm not yet able to build libc++ for arm_v8a. Still analyzing what libraries 
> contain the missing symbols. Some seem to be from libunwind. Currently trying to 
> find out why these symbols are missing on arm_v8a but not on x86_64.
> I have attached the output for all available combinations in the list above.
> One big difference between the platforms stands out. On x86_64 the Dynamic 
> section is present, on arm_v8a it is missing.
> When I replace `-lgcc` with `-l:ld.lib.so` I observe the following:
>   - on x86_64 I'm still able to build the libraries. The output of objdump is as 
> expected a bit differnet (see libunwind-x86_64_2.txt).
>   - on x86_64 building the WasmEdge binary fails with missing symbols (__umodti3 
> and __udivti3).
>   - on arm_v8a the output of objdump is exactly the same as without the change.

Okay, I confused libgcc with the unwind things (I think libgcc_eh). I built the 
libc package for ARMv8 and libgcc is clearly linked there:


So please keep it.

The unwind code for C++ exceptions is in ld.lib.so. But for shared libraries we 
do not link ld.lib.so, because the missing unwind symbols should end up as 
undefined symbols in the library. Only when the dynamic binary is linked 
ld.lib.so should be required  to resolve these undefined symbols. The questions 
is why the linking of libc++.lib.so complains about these undefined symbols in 
the first place?

> Should I also apply your fixes from #4750 to the linker scripts of Goa?
You can.


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