Remove use of whole-archive #677
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Add C source files wrapper library
Allow to not archive HAL/LL object files to core.a.
This avoid the linker to select weak definitions instead of non-weak ones when 'whole-archive' option is not used.
See:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15833.html
New ref: https://developer.arm.com/documentation/101754/0623/armlink-Reference/Image-Structure-and-Generation/Weak-references-and-definitions?lang=en
This allow to save lot of space.
Example for BluePill F103C8
AnalogReadSerial
sketch with USB CDC enabled:whole-archive
:whole-archive
:Full build without whole-archive and source files built-in library:
build_result.log