Skip to contentSkip to conversation

package/guile: dont't use -Os for CS 2014.05 ARM toolchain

PATCH New Romain Naour 2 participants 2 messages Nov 6, 2016 – Nov 9, 2016

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 package/guile: dont't use -Os for CS 2014.05 ARM toolchain

With this toolchain, guile tigger an assembler error with -Os which is probably caused by the binutils version being used:

arm-none-linux-gnueabi-ld --version
GNU ld (Sourcery CodeBench Lite 2014.05-29) 2.24.51.20140217

arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (Sourcery CodeBench Lite 2014.05-29) 4.8.3 20140320 (prerelease)

Nowaday, even with a Buildroot internal toolchain using the oldest Binutils GCC version (2.25.1 and 4.8.6), guile build fine with -Os.

So, force -O2 when this toolchain is used and BR2_OPTIMIZE_S is set.

Fixes:
http://autobuild.buildroot.net/results/976/976b3477407e64c8c2fc2309ed952d0083903a19

---
v2: force -O2 instead of disaling the toolchain for guile

---
 package/guile/guile.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/guile/guile.mk +5 -0
index ca54a4d..88c7414 100644
@@ -32,6 +32,11 @@ ifeq ($(BR2_STATIC_LIBS),y)
 GUILE_CFLAGS += -DGC_NO_DLOPEN
 endif
 
+# Triggers assembler error with -Os
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy)
+GUILE_CFLAGS += -O2
+endif
+
 # It can use readline, but on the condition that it was build against
 # ncurses. If both aren't present disable readline support since the
 # host readline/ncurses support can poison the build.
Signature · 1 line
2.5.5
#1 lore raw

PATCH v2 1/1 package/guile: dont't use -Os for CS 2014.05 ARM toolchain

Hello,

Quoted 17 lines · Romain Naour

With this toolchain, guile tigger an assembler error with -Os which is probably caused by the binutils version being used:

arm-none-linux-gnueabi-ld --version
GNU ld (Sourcery CodeBench Lite 2014.05-29) 2.24.51.20140217

arm-none-linux-gnueabi-gcc --version
arm-none-linux-gnueabi-gcc (Sourcery CodeBench Lite 2014.05-29) 4.8.3 20140320 (prerelease)

Nowaday, even with a Buildroot internal toolchain using the oldest Binutils GCC version (2.25.1 and 4.8.6), guile build fine with -Os.

So, force -O2 when this toolchain is used and BR2_OPTIMIZE_S is set.

Fixes:
http://autobuild.buildroot.net/results/976/976b3477407e64c8c2fc2309ed952d0083903a19

Quoted 6 lines

---
v2: force -O2 instead of disaling the toolchain for guile

---
 package/guile/guile.mk | 5 +++++
 1 file changed, 5 insertions(+)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com