diff --git a/boards.txt b/boards.txt
index 3f6b0b59d496ac38f7a3fb267c8bbb6c769eec72..58e13b3df0382b40e63da8af5ef1041433092c7c 100644
--- a/boards.txt
+++ b/boards.txt
@@ -10,6 +10,7 @@ arduino_zero_edbg.upload.native_usb=false
 arduino_zero_edbg.build.mcu=cortex-m0plus
 arduino_zero_edbg.build.f_cpu=48000000L
 arduino_zero_edbg.build.usb_product="Arduino Zero"
+arduino_zero_edbg.build.usb_manufacturer="Arduino LLC"
 arduino_zero_edbg.build.board=SAMD_ZERO
 arduino_zero_edbg.build.core=arduino
 arduino_zero_edbg.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags}
@@ -34,6 +35,7 @@ arduino_zero_native.upload.native_usb=true
 arduino_zero_native.build.mcu=cortex-m0plus
 arduino_zero_native.build.f_cpu=48000000L
 arduino_zero_native.build.usb_product="Arduino Zero"
+arduino_zero_native.build.usb_manufacturer="Arduino LLC"
 arduino_zero_native.build.board=SAMD_ZERO
 arduino_zero_native.build.core=arduino
 arduino_zero_native.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags}
diff --git a/cores/arduino/avr/dtostrf.c b/cores/arduino/avr/dtostrf.c
index bd597db8d6f244e8c25dfde73789d64c85495489..ed023ea71ba2d89224fd9e93661c2da757a96e27 100644
--- a/cores/arduino/avr/dtostrf.c
+++ b/cores/arduino/avr/dtostrf.c
@@ -18,6 +18,8 @@
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
+#include <stdio.h>
+
 char *dtostrf (double val, signed char width, unsigned char prec, char *sout) {
   char fmt[20];
   sprintf(fmt, "%%%d.%df", width, prec);
diff --git a/platform.txt b/platform.txt
index 4a26674ef417f9724951687617a4c13f550f17a6..c7bb76c82dd276166ecc0e9a8858058f64b349d6 100644
--- a/platform.txt
+++ b/platform.txt
@@ -11,14 +11,12 @@ version=1.8.0
 
 compiler.path={runtime.ide.path}/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin/
 compiler.c.cmd=arm-none-eabi-gcc
-compiler.c.flags=-mcpu={build.mcu} -mthumb -c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf
-#-std=gnu99
+compiler.c.flags=-mcpu={build.mcu} -mthumb -c -g -Os -W -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500
 compiler.c.elf.cmd=arm-none-eabi-gcc
 compiler.c.elf.flags=-Os -Wl,--gc-sections -save-temps
 compiler.S.flags=-c -g -x assembler-with-cpp
 compiler.cpp.cmd=arm-none-eabi-g++
-compiler.cpp.flags=-mcpu={build.mcu} -mthumb -c -g -Os -w -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -Dprintf=iprintf
-#-std=gnu++11
+compiler.cpp.flags=-mcpu={build.mcu} -mthumb -c -g -Os -W -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions
 compiler.ar.cmd=arm-none-eabi-ar
 compiler.ar.flags=rcs
 compiler.objcopy.cmd=arm-none-eabi-objcopy