diff --git a/build/build.xml b/build/build.xml
index cc7994a4a..1d8e4cff6 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -258,9 +258,9 @@
-
-
-
+
+
+
@@ -490,9 +490,9 @@
-
-
-
+
+
+
@@ -504,9 +504,9 @@
-
-
-
+
+
+
@@ -783,9 +783,9 @@
-
-
-
+
+
+
diff --git a/build/linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz.sha b/build/linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz.sha
deleted file mode 100644
index 29a002ad1..000000000
--- a/build/linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz.sha
+++ /dev/null
@@ -1 +0,0 @@
-46a93ceec28772ac19c76ffc9b285a1eac4288a3
diff --git a/build/linux/dist/gcc-arm-none-eabi-4.7.4-2013q2-linux32.tar.gz.sha b/build/linux/dist/gcc-arm-none-eabi-4.7.4-2013q2-linux32.tar.gz.sha
new file mode 100644
index 000000000..0d4dce966
--- /dev/null
+++ b/build/linux/dist/gcc-arm-none-eabi-4.7.4-2013q2-linux32.tar.gz.sha
@@ -0,0 +1 @@
+b35a6b9b1066977509ad5dcf51936b7a6bb18c18
diff --git a/build/linux/dist/gcc-arm-none-eabi-4.7.4-2013q2-linux64.tar.gz.sha b/build/linux/dist/gcc-arm-none-eabi-4.7.4-2013q2-linux64.tar.gz.sha
new file mode 100644
index 000000000..d88a6ac83
--- /dev/null
+++ b/build/linux/dist/gcc-arm-none-eabi-4.7.4-2013q2-linux64.tar.gz.sha
@@ -0,0 +1 @@
+14afebbb1a26b799237080ec32b300a409ff99cb
diff --git a/build/macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz.sha b/build/macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz.sha
deleted file mode 100644
index 3b951bb7f..000000000
--- a/build/macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz.sha
+++ /dev/null
@@ -1 +0,0 @@
-14c554bb9aa9f0d0262a593e7452d33f4babc60d
diff --git a/build/macosx/dist/gcc-arm-none-eabi-4.7.4-2013q2-mac.tar.gz.sha b/build/macosx/dist/gcc-arm-none-eabi-4.7.4-2013q2-mac.tar.gz.sha
new file mode 100644
index 000000000..a265218f9
--- /dev/null
+++ b/build/macosx/dist/gcc-arm-none-eabi-4.7.4-2013q2-mac.tar.gz.sha
@@ -0,0 +1 @@
+a1326c6258f91d9b318570bc619ca8a3b799d8bc
diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt
index b49696320..8afeb6e96 100644
--- a/build/shared/revisions.txt
+++ b/build/shared/revisions.txt
@@ -2,7 +2,9 @@ ARDUINO 1.5.7 BETA
[core]
* Upgraded AVR toolchain: gcc 4.8.1, avr-libc 1.8.0
+* Upgraded ARM toolchain: gcc 4.7.4
* Upgraded avrdude to version 6.0.1
+* ARM gcc doesn't require ia32-libs anymore on 64 bits linux systems
* avr: Improved USB-CDC write speed (Justin Rajewski)
* avr: fixed typo in SerialEvent3 handling (Matthijs Kooijman)
* avr: HardwareSerial support for different size of TX and RX buffer sizes (Jan Baeyens)
diff --git a/build/windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz.sha b/build/windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz.sha
deleted file mode 100644
index 068b717e3..000000000
--- a/build/windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz.sha
+++ /dev/null
@@ -1 +0,0 @@
-f288affa058bfdd44f8b93800fc4cb01b2ebf1e5
diff --git a/build/windows/dist/gcc-arm-none-eabi-4.7.4-2013q2-windows.tar.gz.sha b/build/windows/dist/gcc-arm-none-eabi-4.7.4-2013q2-windows.tar.gz.sha
new file mode 100644
index 000000000..0c66d28a8
--- /dev/null
+++ b/build/windows/dist/gcc-arm-none-eabi-4.7.4-2013q2-windows.tar.gz.sha
@@ -0,0 +1 @@
+c41fa509205b9ced43fc221b6a0cae4223a0842d
diff --git a/hardware/arduino/sam/platform.txt b/hardware/arduino/sam/platform.txt
index 78633a809..aa33c8115 100644
--- a/hardware/arduino/sam/platform.txt
+++ b/hardware/arduino/sam/platform.txt
@@ -10,7 +10,7 @@ version=1.5.6
# SAM3 compile variables
# ----------------------
-compiler.path={runtime.ide.path}/hardware/tools/g++_arm_none_eabi/bin/
+compiler.path={runtime.ide.path}/hardware/tools/gcc-arm-none-eabi-4.7.4-2013q2/bin/
compiler.c.cmd=arm-none-eabi-gcc
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf
compiler.c.elf.cmd=arm-none-eabi-g++