-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Makefile.uk: Include missing cpow* functions #64
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreittr I get the following errors when building with the musl-complex library enabled:
/usr/bin/ld: workdir/apps/nginx/build/libmusl.o: in function `cpow':
workdir/apps/nginx/build/libmusl/origin/musl-1.2.3//src/complex/cpow.c:7: undefined reference to `__muldc3'
/usr/bin/ld: workdir/apps/nginx/build/libmusl.o: in function `cpowf':
workdir/apps/nginx/build/libmusl/origin/musl-1.2.3//src/complex/cpowf.c:5: undefined reference to `__mulsc3'
/usr/bin/ld: workdir/apps/nginx/build/libmusl.o: in function `cpowl':
workdir/apps/nginx/build/libmusl/origin/musl-1.2.3//src/complex/cpowl.c:11: undefined reference to `__mulxc3'
Is there anything I'm missing?
These functions are emitted by the compiler and implemented in |
The complex number library was previously missing the implementation of cpow* functions. This change corrects this omission. Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Yes, it happens on |
The cpow* functions provided by libcomplex make use of the `__mul?c3` functions, implemented by libcompiler-rt, when building with either Clang or GCC. Therefore, this change makes musl unconditionally select libcompiler-rt when building libcomplex. Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Updated w/ new commit; had libcomplex select compiler-rt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good, thank you.
Reviewed-by: Stefan Jumarea stefanjumarea02@gmail.com
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved-by: Razvan Deaconescu razvand@unikraft.io
The cpow* functions provided by libcomplex make use of the `__mul?c3` functions, implemented by libcompiler-rt, when building with either Clang or GCC. Therefore, this change makes musl unconditionally select libcompiler-rt when building libcomplex. Signed-off-by: Andrei Tatar <andrei@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Razvan Deaconescu <razvand@unikraft.io> Tested-by: Unikraft CI <monkey@unikraft.io> GitHub-Closes: #64
Following the merge of [0], the use of complex numbers requires the external microlibrary `compiler-rt`[1]. Without this inclusion, builds that set `CONFIG_LIBMUSL_COMPLEX` will fail. [0]: unikraft/lib-musl#64 [1]: https://github.com/unikraft/lib-compiler-rt Signed-off-by: Alexander Jung <alex@unikraft.io>
Following the merge of [0], the use of complex numbers requires the external microlibrary `compiler-rt`[1]. Without this inclusion, builds that set `CONFIG_LIBMUSL_COMPLEX` will fail. [0]: unikraft/lib-musl#64 [1]: https://github.com/unikraft/lib-compiler-rt Signed-off-by: Alexander Jung <alex@unikraft.io> Reviewed-by: Razvan Deaconescu <razvand@unikraft.io> Approved-by: Razvan Deaconescu <razvand@unikraft.io> Tested-by: Unikraft CI <monkey@unikraft.io> GitHub-Closes: #1033
Following the merge of [0], the use of complex numbers requires the external microlibrary `compiler-rt`[1]. Without this inclusion, builds that set `CONFIG_LIBMUSL_COMPLEX` will fail. [0]: unikraft/lib-musl#64 [1]: https://github.com/unikraft/lib-compiler-rt Signed-off-by: Alexander Jung <alex@unikraft.io> Reviewed-by: Razvan Deaconescu <razvand@unikraft.io> Approved-by: Razvan Deaconescu <razvand@unikraft.io> Tested-by: Unikraft CI <monkey@unikraft.io> GitHub-Closes: #1033
The complex number library was previously missing the implementation of cpow* functions. This change corrects this omission.