Skip to content

build: allow platforms to choose the c library to build with

Created by: vijayenthiran-arm

The firmware build currently uses the newlib-nano as standard C library for optimized code size. Newlib-nano does not have some features that were added after C89 1. For example, it does not have 64-bit integer support in format IO due to which it is not possible to print a 64-bit integer. GCC toolchain by default supports standard newlib C library.

This patch makes newlib as the default library while building the firmware and introduce build flag BS_FIRMWARE_USE_NEWLIB_NANO_SPECS to allow the platform to choose the newlib-nano library over the default newlib library. Except for Arm's infrastructure reference platforms (SGI575, RDN1E1, RD-Daniel, RD-Daniel-XLR and N1SDP), all other platforms are made to use newlib-nano library to generate optimized code size.

Change-Id: Ia2ce178827f7661ae770c1edc4d534f4330a42cd Signed-off-by: Vijayenthiran Subramaniam vijayenthiran.subramaniam@arm.com

Merge request reports