[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unikraft - Compile error on arm64



[ +Jia He as he seems to be looking at the arm64 port ]

An update below.

On Sat, Sep 12, 2020 at 8:07 PM Punit Agrawal <punitagrawal@xxxxxxxxx> wrote:

[...]

> It seems that using "-no-pie" causes the helpers for builtin atomics to
> go missing on arm64. A quick hack to drop the "-no-pie" leads to
> conflicts with "-r".

Turns out this is not quite what's happening. The problem was the
missing flags to pull in libgcc.

Incidentally, pulling the latest changes on the staging branch fixed
the issue. See eddaa9b242 ("build: Link libgcc at the end of the link
options list"). Not sure why the commit was missing from my repo last
week.

Although it fixes the missing atomic helpers, now I get a different
error message -

/usr/bin/ld: 
/home/punit/src/unikraft/apps/helloworld/build/helloworld_kvm-arm64.o:
in function `init_have_lse_atomics':
lse-init.o:(.text.startup+0xbc): undefined reference to `__getauxval'
lse-init.o:(.text.startup+0xbc): relocation truncated to fit:
R_AARCH64_CALL26 against undefined symbol `__getauxval'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/punit/src/unikraft/unikraft/plat/kvm/Linker.uk:24:
/home/punit/src/unikraft/apps/helloworld/build/helloworld_kvm-arm64.dbg]
Error 1
make[1]: *** [Makefile:973: sub-make] Error 2
make[1]: Leaving directory '/home/punit/src/unikraft/unikraft'
make: *** [Makefile:6: all] Error 2

__getauxval is provided by libc but it's not being linked here. musl
carries the symbol but is not being included in the libraries being
linked for the "Helloworld" app.

Any suggestions on how to get past this one?

Thanks,
Punit



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.