From 9e905afb56a162882df2472d9537f72c82c83487 Mon Sep 17 00:00:00 2001 From: Jasmin Jessich Date: Sun, 6 Sep 2015 13:54:46 +0200 Subject: Added additional newlib specific target flags with new option LIBC_NEWLIB_TARGET_CFLAGS. Signed-off-by: Jasmin Jessich diff --git a/config/libc/newlib.in b/config/libc/newlib.in index f32e4b3..8351fab 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -144,6 +144,20 @@ config LIBC_VERSION Enter the tag you want to use. Leave empty to use the 'head' of the repository. +config LIBC_NEWLIB_TARGET_CFLAGS + string + prompt "Target CFLAGS for newlib" + default "" + help + Used to add specific options when compiling the target libraries + (eg. -ffunction-sections -fdata-sections), which can't be defined + in global TARGET_CFLAGS, because they shall be not used for the + gcc target libraries. + Note: Both TARGET_CFLAGS and LIBC_NEWLIB_TARGET_CFLAGS are used + to compile the libraries. + + Leave blank if you don't know better. + comment "Architecture specific options" config ATMEL_AVR32_HEADERS diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh index 744c291..ca00a3f 100644 --- a/scripts/build/libc/newlib.sh +++ b/scripts/build/libc/newlib.sh @@ -72,6 +72,7 @@ do_libc_start_files() { do_libc() { local -a newlib_opts + local cflags_for_target CT_DoStep INFO "Installing C library" @@ -109,6 +110,8 @@ do_libc() { [ "${CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE}" = "y" ] && newlib_opts+=("--enable-target-optspace") + cflags_for_target="${CT_TARGET_CFLAGS} ${CT_LIBC_NEWLIB_TARGET_CFLAGS}" + # Note: newlib handles the build/host/target a little bit differently # than one would expect: # build : not used @@ -116,7 +119,7 @@ do_libc() { # target : the machine newlib runs on CT_DoExecLog CFG \ CC_FOR_BUILD="${CT_BUILD}-gcc" \ - CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ + CFLAGS_FOR_TARGET="${cflags_for_target}" \ AR=${CT_TARGET}-ar \ RANLIB=${CT_TARGET}-ranlib \ "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/configure" \ -- cgit v0.10.2-6-g49f6