-
Notifications
You must be signed in to change notification settings - Fork 27
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
cmake: removing manual linking of libgcc.a #653
cmake: removing manual linking of libgcc.a #653
Conversation
Similar code for M 4 (nrf52) libraries: sidewalk/lib/cortex-m4/lora_fsk/CMakeLists.txt |
|
nice catch. |
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.
lgtm
unit test failed on native_posix deprected platfrom, not related with changes in the pr. Should pass on next commit (or amend)
This commit removes the manual lookup and linking of libgcc.a. Linking of C and runtime libraries are the responsibility of the higher level build system which handles the toolchain and building of the executable. Current sidewalk implementation is broken in the sense that it fails to consider the CPU architecture and just looks up any libgcc.a file. For example the code might discover `arm-zephyr-eabi/12.2.0/libgcc.a` when instead `arm-zephyr-eabi/12.2.0/thumb/v8-m.main+fp/hard/libgcc.a` should be used, and thus causiong link errors such as: > error: /.../12.2.0/libgcc.a(_arm_muldf3.o): > conflicting CPU architectures 17/2 and: > error: zephyr/zephyr_pre0.elf uses VFP register arguments, > /.../12.2.0/libgcc.a(_fixunsdfdi.o) does not Signed-off-by: Torsten Rasmussen <[email protected]>
b713b97
to
e420702
Compare
done |
@tejlmand @ktaborowski please apply this change to the |
there is already a PR for that here: #654 |
This commit removes the manual lookup and linking of libgcc.a.
Linking of C and runtime libraries are the responsibility of the higher level build system which handles the toolchain and building of the executable.
Current sidewalk implementation is broken in the sense that it fails to consider the CPU architecture and just looks up any libgcc.a file.
For example the code might discover
arm-zephyr-eabi/12.2.0/libgcc.a
when insteadarm-zephyr-eabi/12.2.0/thumb/v8-m.main+fp/hard/libgcc.a
should be used, and thus causiong link errors such as:and: