Skip to content

[review #337] + fix on build.flags.ldspec #339

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

Merged
merged 2 commits into from
Oct 2, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
165 changes: 92 additions & 73 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ menu.xserial=Serial interface
menu.usb=USB interface

menu.opt=Optimize
menu.rtlib=C Runtime Library
menu.upload_method=Upload method
menu.flash=Flash Memory Size
menu.ram=RAM Size
Expand Down Expand Up @@ -750,235 +751,253 @@ Disco.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
Nucleo_144.menu.opt.osstd=Smallest (-Os default)
Nucleo_144.menu.opt.oslto=Smallest (-Os) with LTO
Nucleo_144.menu.opt.oslto.build.flags.optimize=-Os -flto
Nucleo_144.menu.opt.oslto.build.flags.ldspecs=-flto
Nucleo_144.menu.opt.o1std=Fast (-O1)
Nucleo_144.menu.opt.o1std.build.flags.optimize=-O1
Nucleo_144.menu.opt.o1std.build.flags.ldspecs=
Nucleo_144.menu.opt.o1lto=Fast (-O1) with LTO
Nucleo_144.menu.opt.o1lto.build.flags.optimize=-O1 -flto
Nucleo_144.menu.opt.o1lto.build.flags.ldspecs=-flto
Nucleo_144.menu.opt.o2std=Faster (-O2)
Nucleo_144.menu.opt.o2std.build.flags.optimize=-O2
Nucleo_144.menu.opt.o2std.build.flags.ldspecs=
Nucleo_144.menu.opt.o2lto=Faster (-O2) with LTO
Nucleo_144.menu.opt.o2lto.build.flags.optimize=-O2 -flto
Nucleo_144.menu.opt.o2lto.build.flags.ldspecs=-flto
Nucleo_144.menu.opt.o3std=Fastest (-O3)
Nucleo_144.menu.opt.o3std.build.flags.optimize=-O3
Nucleo_144.menu.opt.o3std.build.flags.ldspecs=
Nucleo_144.menu.opt.o3lto=Fastest (-O3) with LTO
Nucleo_144.menu.opt.o3lto.build.flags.optimize=-O3 -flto
Nucleo_144.menu.opt.o3lto.build.flags.ldspecs=-flto
Nucleo_144.menu.opt.ogstd=Debug (-g)
Nucleo_144.menu.opt.ogstd.build.flags.optimize=-g -Og
Nucleo_144.menu.opt.ogstd.build.flags.ldspecs=

Nucleo_64.menu.opt.osstd=Smallest (-Os default)
Nucleo_64.menu.opt.oslto=Smallest (-Os) with LTO
Nucleo_64.menu.opt.oslto.build.flags.optimize=-Os -flto
Nucleo_64.menu.opt.oslto.build.flags.ldspecs=-flto
Nucleo_64.menu.opt.o1std=Fast (-O1)
Nucleo_64.menu.opt.o1std.build.flags.optimize=-O1
Nucleo_64.menu.opt.o1std.build.flags.ldspecs=
Nucleo_64.menu.opt.o1lto=Fast (-O1) with LTO
Nucleo_64.menu.opt.o1lto.build.flags.optimize=-O1 -flto
Nucleo_64.menu.opt.o1lto.build.flags.ldspecs=-flto
Nucleo_64.menu.opt.o2std=Faster (-O2)
Nucleo_64.menu.opt.o2std.build.flags.optimize=-O2
Nucleo_64.menu.opt.o2std.build.flags.ldspecs=
Nucleo_64.menu.opt.o2lto=Faster (-O2) with LTO
Nucleo_64.menu.opt.o2lto.build.flags.optimize=-O2 -flto
Nucleo_64.menu.opt.o2lto.build.flags.ldspecs=-flto
Nucleo_64.menu.opt.o3std=Fastest (-O3)
Nucleo_64.menu.opt.o3std.build.flags.optimize=-O3
Nucleo_64.menu.opt.o3std.build.flags.ldspecs=
Nucleo_64.menu.opt.o3lto=Fastest (-O3) with LTO
Nucleo_64.menu.opt.o3lto.build.flags.optimize=-O3 -flto
Nucleo_64.menu.opt.o3lto.build.flags.ldspecs=-flto
Nucleo_64.menu.opt.ogstd=Debug (-g)
Nucleo_64.menu.opt.ogstd.build.flags.optimize=-g -Og
Nucleo_64.menu.opt.ogstd.build.flags.ldspecs=

Nucleo_32.menu.opt.osstd=Smallest (-Os default)
Nucleo_32.menu.opt.oslto=Smallest (-Os) with LTO
Nucleo_32.menu.opt.oslto.build.flags.optimize=-Os -flto
Nucleo_32.menu.opt.oslto.build.flags.ldspecs=-flto
Nucleo_32.menu.opt.o1std=Fast (-O1)
Nucleo_32.menu.opt.o1std.build.flags.optimize=-O1
Nucleo_32.menu.opt.o1std.build.flags.ldspecs=
Nucleo_32.menu.opt.o1lto=Fast (-O1) with LTO
Nucleo_32.menu.opt.o1lto.build.flags.optimize=-O1 -flto
Nucleo_32.menu.opt.o1lto.build.flags.ldspecs=-flto
Nucleo_32.menu.opt.o2std=Faster (-O2)
Nucleo_32.menu.opt.o2std.build.flags.optimize=-O2
Nucleo_32.menu.opt.o2std.build.flags.ldspecs=
Nucleo_32.menu.opt.o2lto=Faster (-O2) with LTO
Nucleo_32.menu.opt.o2lto.build.flags.optimize=-O2 -flto
Nucleo_32.menu.opt.o2lto.build.flags.ldspecs=-flto
Nucleo_32.menu.opt.o3std=Fastest (-O3)
Nucleo_32.menu.opt.o3std.build.flags.optimize=-O3
Nucleo_32.menu.opt.o3std.build.flags.ldspecs=
Nucleo_32.menu.opt.o3lto=Fastest (-O3) with LTO
Nucleo_32.menu.opt.o3lto.build.flags.optimize=-O3 -flto
Nucleo_32.menu.opt.o3lto.build.flags.ldspecs=-flto
Nucleo_32.menu.opt.ogstd=Debug (-g)
Nucleo_32.menu.opt.ogstd.build.flags.optimize=-g -Og
Nucleo_32.menu.opt.ogstd.build.flags.ldspecs=

Disco.menu.opt.osstd=Smallest (-Os default)
Disco.menu.opt.oslto=Smallest (-Os) with LTO
Disco.menu.opt.oslto.build.flags.optimize=-Os -flto
Disco.menu.opt.oslto.build.flags.ldspecs=-flto
Disco.menu.opt.o1std=Fast (-O1)
Disco.menu.opt.o1std.build.flags.optimize=-O1
Disco.menu.opt.o1std.build.flags.ldspecs=
Disco.menu.opt.o1lto=Fast (-O1) with LTO
Disco.menu.opt.o1lto.build.flags.optimize=-O1 -flto
Disco.menu.opt.o1lto.build.flags.ldspecs=-flto
Disco.menu.opt.o2std=Faster (-O2)
Disco.menu.opt.o2std.build.flags.optimize=-O2
Disco.menu.opt.o2std.build.flags.ldspecs=
Disco.menu.opt.o2lto=Faster (-O2) with LTO
Disco.menu.opt.o2lto.build.flags.optimize=-O2 -flto
Disco.menu.opt.o2lto.build.flags.ldspecs=-flto
Disco.menu.opt.o3std=Fastest (-O3)
Disco.menu.opt.o3std.build.flags.optimize=-O3
Disco.menu.opt.o3std.build.flags.ldspecs=
Disco.menu.opt.o3lto=Fastest (-O3) with LTO
Disco.menu.opt.o3lto.build.flags.optimize=-O3 -flto
Disco.menu.opt.o3lto.build.flags.ldspecs=-flto
Disco.menu.opt.ogstd=Debug (-g)
Disco.menu.opt.ogstd.build.flags.optimize=-g -Og
Disco.menu.opt.ogstd.build.flags.ldspecs=

GenF103.menu.opt.osstd=Smallest (-Os default)
GenF103.menu.opt.oslto=Smallest (-Os) with LTO
GenF103.menu.opt.oslto.build.flags.optimize=-Os -flto
GenF103.menu.opt.oslto.build.flags.ldspecs=-flto
GenF103.menu.opt.o1std=Fast (-O1)
GenF103.menu.opt.o1std.build.flags.optimize=-O1
GenF103.menu.opt.o1std.build.flags.ldspecs=
GenF103.menu.opt.o1lto=Fast (-O1) with LTO
GenF103.menu.opt.o1lto.build.flags.optimize=-O1 -flto
GenF103.menu.opt.o1lto.build.flags.ldspecs=-flto
GenF103.menu.opt.o2std=Faster (-O2)
GenF103.menu.opt.o2std.build.flags.optimize=-O2
GenF103.menu.opt.o2std.build.flags.ldspecs=
GenF103.menu.opt.o2lto=Faster (-O2) with LTO
GenF103.menu.opt.o2lto.build.flags.optimize=-O2 -flto
GenF103.menu.opt.o2lto.build.flags.ldspecs=-flto
GenF103.menu.opt.o3std=Fastest (-O3)
GenF103.menu.opt.o3std.build.flags.optimize=-O3
GenF103.menu.opt.o3std.build.flags.ldspecs=
GenF103.menu.opt.o3lto=Fastest (-O3) with LTO
GenF103.menu.opt.o3lto.build.flags.optimize=-O3 -flto
GenF103.menu.opt.o3lto.build.flags.ldspecs=-flto
GenF103.menu.opt.ogstd=Debug (-g)
GenF103.menu.opt.ogstd.build.flags.optimize=-g -Og
GenF103.menu.opt.ogstd.build.flags.ldspecs=

GenF4.menu.opt.osstd=Smallest (-Os default)
GenF4.menu.opt.osstd.build.flags.optimize=-Os
GenF4.menu.opt.osstd.build.flags.ldspecs=
GenF4.menu.opt.oslto=Smallest (-Os) with LTO
GenF4.menu.opt.oslto.build.flags.optimize=-Os -flto
GenF4.menu.opt.oslto.build.flags.ldspecs=-flto
GenF4.menu.opt.o1std=Fast (-O1)
GenF4.menu.opt.o1std.build.flags.optimize=-O1
GenF4.menu.opt.o1std.build.flags.ldspecs=
GenF4.menu.opt.o1lto=Fast (-O1) with LTO
GenF4.menu.opt.o1lto.build.flags.optimize=-O1 -flto
GenF4.menu.opt.o1lto.build.flags.ldspecs=-flto
GenF4.menu.opt.o2std=Faster (-O2)
GenF4.menu.opt.o2std.build.flags.optimize=-O2
GenF4.menu.opt.o2std.build.flags.ldspecs=
GenF4.menu.opt.o2lto=Faster (-O2) with LTO
GenF4.menu.opt.o2lto.build.flags.optimize=-O2 -flto
GenF4.menu.opt.o2lto.build.flags.ldspecs=-flto
GenF4.menu.opt.o3std=Fastest (-O3)
GenF4.menu.opt.o3std.build.flags.optimize=-O3
GenF4.menu.opt.o3std.build.flags.ldspecs=
GenF4.menu.opt.o3lto=Fastest (-O3) with LTO
GenF4.menu.opt.o3lto.build.flags.optimize=-O3 -flto
GenF4.menu.opt.o3lto.build.flags.ldspecs=-flto
GenF4.menu.opt.ogstd=Debug (-g)
GenF4.menu.opt.ogstd.build.flags.optimize=-g -Og
GenF4.menu.opt.ogstd.build.flags.ldspecs=

Maple.menu.opt.osstd=Smallest (-Os default)
Maple.menu.opt.oslto=Smallest (-Os) with LTO
Maple.menu.opt.oslto.build.flags.optimize=-Os -flto
Maple.menu.opt.oslto.build.flags.ldspecs=-flto
Maple.menu.opt.o1std=Fast (-O1)
Maple.menu.opt.o1std.build.flags.optimize=-O1
Maple.menu.opt.o1std.build.flags.ldspecs=
Maple.menu.opt.o1lto=Fast (-O1) with LTO
Maple.menu.opt.o1lto.build.flags.optimize=-O1 -flto
Maple.menu.opt.o1lto.build.flags.ldspecs=-flto
Maple.menu.opt.o2std=Faster (-O2)
Maple.menu.opt.o2std.build.flags.optimize=-O2
Maple.menu.opt.o2std.build.flags.ldspecs=
Maple.menu.opt.o2lto=Faster (-O2) with LTO
Maple.menu.opt.o2lto.build.flags.optimize=-O2 -flto
Maple.menu.opt.o2lto.build.flags.ldspecs=-flto
Maple.menu.opt.o3std=Fastest (-O3)
Maple.menu.opt.o3std.build.flags.optimize=-O3
Maple.menu.opt.o3std.build.flags.ldspecs=
Maple.menu.opt.o3lto=Fastest (-O3) with LTO
Maple.menu.opt.o3lto.build.flags.optimize=-O3 -flto
Maple.menu.opt.o3lto.build.flags.ldspecs=-flto
Maple.menu.opt.ogstd=Debug (-g)
Maple.menu.opt.ogstd.build.flags.optimize=-g -Og
Maple.menu.opt.ogstd.build.flags.ldspecs=

RAK.menu.opt.osstd=Smallest (-Os default)
RAK.menu.opt.oslto=Smallest (-Os) with LTO
RAK.menu.opt.oslto.build.flags.optimize=-Os -flto
RAK.menu.opt.oslto.build.flags.ldspecs=-flto
RAK.menu.opt.o1std=Fast (-O1)
RAK.menu.opt.o1std.build.flags.optimize=-O1
RAK.menu.opt.o1std.build.flags.ldspecs=
RAK.menu.opt.o1lto=Fast (-O1) with LTO
RAK.menu.opt.o1lto.build.flags.optimize=-O1 -flto
RAK.menu.opt.o1lto.build.flags.ldspecs=-flto
RAK.menu.opt.o2std=Faster (-O2)
RAK.menu.opt.o2std.build.flags.optimize=-O2
RAK.menu.opt.o2std.build.flags.ldspecs=
RAK.menu.opt.o2lto=Faster (-O2) with LTO
RAK.menu.opt.o2lto.build.flags.optimize=-O2 -flto
RAK.menu.opt.o2lto.build.flags.ldspecs=-flto
RAK.menu.opt.o3std=Fastest (-O3)
RAK.menu.opt.o3std.build.flags.optimize=-O3
RAK.menu.opt.o3std.build.flags.ldspecs=
RAK.menu.opt.o3lto=Fastest (-O3) with LTO
RAK.menu.opt.o3lto.build.flags.optimize=-O3 -flto
RAK.menu.opt.o3lto.build.flags.ldspecs=-flto
RAK.menu.opt.ogstd=Debug (-g)
RAK.menu.opt.ogstd.build.flags.optimize=-g -Og
RAK.menu.opt.ogstd.build.flags.ldspecs=

RemRam.menu.opt.osstd=Smallest (-Os default)
RemRam.menu.opt.oslto=Smallest (-Os) with LTO
RemRam.menu.opt.oslto.build.flags.optimize=-Os -flto
RemRam.menu.opt.oslto.build.flags.ldspecs=-flto
RemRam.menu.opt.o1std=Fast (-O1)
RemRam.menu.opt.o1std.build.flags.optimize=-O1
RemRam.menu.opt.o1std.build.flags.ldspecs=
RemRam.menu.opt.o1lto=Fast (-O1) with LTO
RemRam.menu.opt.o1lto.build.flags.optimize=-O1 -flto
RemRam.menu.opt.o1lto.build.flags.ldspecs=-flto
RemRam.menu.opt.o2std=Faster (-O2)
RemRam.menu.opt.o2std.build.flags.optimize=-O2
RemRam.menu.opt.o2std.build.flags.ldspecs=
RemRam.menu.opt.o2lto=Faster (-O2) with LTO
RemRam.menu.opt.o2lto.build.flags.optimize=-O2 -flto
RemRam.menu.opt.o2lto.build.flags.ldspecs=-flto
RemRam.menu.opt.o3std=Fastest (-O3)
RemRam.menu.opt.o3std.build.flags.optimize=-O3
RemRam.menu.opt.o3std.build.flags.ldspecs=
RemRam.menu.opt.o3lto=Fastest (-O3) with LTO
RemRam.menu.opt.o3lto.build.flags.optimize=-O3 -flto
RemRam.menu.opt.o3lto.build.flags.ldspecs=-flto
RemRam.menu.opt.ogstd=Debug (-g)
RemRam.menu.opt.ogstd.build.flags.optimize=-g -Og
RemRam.menu.opt.ogstd.build.flags.ldspecs=

# C Runtime Library
Nucleo_144.menu.rtlib.nano=Newlib Nano (default)
Nucleo_144.menu.rtlib.nanofp=Newlib Nano + Float Printf
Nucleo_144.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
Nucleo_144.menu.rtlib.nanofs=Newlib Nano + Float Scanf
Nucleo_144.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
Nucleo_144.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
Nucleo_144.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
Nucleo_144.menu.rtlib.full=Newlib Standard
Nucleo_144.menu.rtlib.full.build.flags.ldspecs=

Nucleo_64.menu.rtlib.nano=Newlib Nano (default)
Nucleo_64.menu.rtlib.nanofp=Newlib Nano + Float Printf
Nucleo_64.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
Nucleo_64.menu.rtlib.nanofs=Newlib Nano + Float Scanf
Nucleo_64.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
Nucleo_64.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
Nucleo_64.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
Nucleo_64.menu.rtlib.full=Newlib Standard
Nucleo_64.menu.rtlib.full.build.flags.ldspecs=

Nucleo_32.menu.rtlib.nano=Newlib Nano (default)
Nucleo_32.menu.rtlib.nanofp=Newlib Nano + Float Printf
Nucleo_32.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
Nucleo_32.menu.rtlib.nanofs=Newlib Nano + Float Scanf
Nucleo_32.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
Nucleo_32.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
Nucleo_32.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
Nucleo_32.menu.rtlib.full=Newlib Standard
Nucleo_32.menu.rtlib.full.build.flags.ldspecs=

Disco.menu.rtlib.nano=Newlib Nano (default)
Disco.menu.rtlib.nanofp=Newlib Nano + Float Printf
Disco.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
Disco.menu.rtlib.nanofs=Newlib Nano + Float Scanf
Disco.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
Disco.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
Disco.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
Disco.menu.rtlib.full=Newlib Standard
Disco.menu.rtlib.full.build.flags.ldspecs=

GenF103.menu.rtlib.nano=Newlib Nano (default)
GenF103.menu.rtlib.nanofp=Newlib Nano + Float Printf
GenF103.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
GenF103.menu.rtlib.nanofs=Newlib Nano + Float Scanf
GenF103.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
GenF103.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
GenF103.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
GenF103.menu.rtlib.full=Newlib Standard
GenF103.menu.rtlib.full.build.flags.ldspecs=

GenF4.menu.rtlib.nano=Newlib Nano (default)
GenF4.menu.rtlib.nanofp=Newlib Nano + Float Printf
GenF4.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
GenF4.menu.rtlib.nanofs=Newlib Nano + Float Scanf
GenF4.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
GenF4.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
GenF4.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
GenF4.menu.rtlib.full=Newlib Standard
GenF4.menu.rtlib.full.build.flags.ldspecs=

Maple.menu.rtlib.nano=Newlib Nano (default)
Maple.menu.rtlib.nanofp=Newlib Nano + Float Printf
Maple.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
Maple.menu.rtlib.nanofs=Newlib Nano + Float Scanf
Maple.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
Maple.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
Maple.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
Maple.menu.rtlib.full=Newlib Standard
Maple.menu.rtlib.full.build.flags.ldspecs=

RAK.menu.rtlib.nano=Newlib Nano (default)
RAK.menu.rtlib.nanofp=Newlib Nano + Float Printf
RAK.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
RAK.menu.rtlib.nanofs=Newlib Nano + Float Scanf
RAK.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
RAK.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
RAK.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
RAK.menu.rtlib.full=Newlib Standard
RAK.menu.rtlib.full.build.flags.ldspecs=

RemRam.menu.rtlib.nano=Newlib Nano (default)
RemRam.menu.rtlib.nanofp=Newlib Nano + Float Printf
RemRam.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
RemRam.menu.rtlib.nanofs=Newlib Nano + Float Scanf
RemRam.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
RemRam.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
RemRam.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
RemRam.menu.rtlib.full=Newlib Standard
RemRam.menu.rtlib.full.build.flags.ldspecs=
8 changes: 4 additions & 4 deletions platform.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ compiler.extra_flags=-mcpu={build.mcu} -mthumb "@{build.opt.path}"

compiler.S.flags={compiler.extra_flags} -c -x assembler-with-cpp {compiler.stm.extra_include}

compiler.c.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD {compiler.stm.extra_include}
compiler.c.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -MMD {compiler.stm.extra_include}

compiler.cpp.flags={compiler.extra_flags} -c {build.flags.optimize} {compiler.warning_flags} -std={compiler.cpp.std} -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD {compiler.stm.extra_include}

Expand All @@ -46,7 +46,7 @@ compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,
compiler.elf2bin.flags=-O binary
compiler.elf2hex.flags=-O ihex

compiler.ldflags={build.flags.ldspecs}
compiler.ldflags=
compiler.size.cmd=arm-none-eabi-size
compiler.define=-DARDUINO=

Expand Down Expand Up @@ -82,7 +82,7 @@ build.info.flags=-D{build.series} -DARDUINO={runtime.ide.version} -DARDUINO_{bui
build.xSerial=-DHAL_UART_MODULE_ENABLED
build.enable_usb=
build.flags.optimize=-Os
build.flags.ldspecs=
build.flags.ldspecs=--specs=nano.specs

# Pre and post build hooks
build.opt.name=build_opt.h
Expand Down Expand Up @@ -110,7 +110,7 @@ recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} {build.i
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}"

## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} {compiler.ldflags} {compiler.arm.cmsis.ldflags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--start-group {object_files} -Wl,--whole-archive "{archive_file_path}" -Wl,--no-whole-archive -lc -Wl,--end-group -lm -lgcc -lstdc++ --specs=nano.specs
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} {compiler.ldflags} {compiler.arm.cmsis.ldflags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--start-group {object_files} -Wl,--whole-archive "{archive_file_path}" -Wl,--no-whole-archive -lc -Wl,--end-group -lm -lgcc -lstdc++

## Create output (.bin file)
recipe.objcopy.bin.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.elf2bin.flags} {compiler.elf2bin.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.bin"
Expand Down