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:
/usr/local/genode/tool/21.05/bin/../lib/gcc/aarch64-none-elf/10.3.0/libgcc.a
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
--
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