libm is a frequently used lib. Newlib is compiled with -ffunction-sections in recent GCC tool chains. The linker would just link in the functions that have been referenced. So setting this won't result in bigger text size.
@@ -11,6 +11,12 @@ cwd = GetCurrentDir()
src = Glob('*.c')
CPPPATH = [cwd]
+# link with libm in default.
+# libm is a frequently used lib. Newlib is compiled with -ffunction-sections in
+# recent GCC tool chains. The linker would just link in the functions that have
+# been referenced. So setting this won't result in bigger text size.
+Env.Append(LIBS = ['m'])
+
group = DefineGroup('newlib', src, depend = ['RT_USING_NEWLIB'], CPPPATH = CPPPATH)
Return('group')