Skip to contentSkip to conversation

gcc/gcc-final: pass TARGET_ABI flags to configure with --enable-cxx-flags

PATCH New Max Filippov 3 participants 5 messages May 26, 2015 – May 31, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gcc/gcc-final: pass TARGET_ABI flags to configure with --enable-cxx-flags

libstdc++ is in all regards a normal library, it needs to be built with TARGET_ABI flags, otherwise linking it with other C++ code may fail.

Pass TARGET_ABI flags to gcc-final configure script in the --enable-cxx-flags parameter.

Fixes:
http://autobuild.buildroot.net/results/81a3bca5cbcf789c7ce1aa221a6a4154dd7c3917/
http://autobuild.buildroot.net/results/4943b214c29951ecc7af0a1f360b6454485c0b9b/

---
 package/gcc/gcc-final/gcc-final.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/gcc/gcc-final/gcc-final.mk +4 -0
index d873aa6..8d7009b 100644
@@ -185,4 +185,8 @@ endef
 HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_USR_LIBS
 endif
 
+ifeq ($(BR2_xtensa),y)
+HOST_GCC_FINAL_CONF_OPTS += --enable-cxx-flags="$(TARGET_ABI)"
+endif
+
 $(eval $(host-autotools-package))
Signature · 1 line
1.8.1.4
#1 lore raw

PATCH 1/1 gcc/gcc-final: pass TARGET_ABI flags to configure with --enable-cxx-flags

Quoted 2 lines · Max Filippov

libstdc++ is in all regards a normal library, it needs to be built with TARGET_ABI flags, otherwise linking it with other C++ code may fail.

Then why only do it for xtensa? And why not pass the full TARGET_CFLAGS?

Regards,
Arnout

Quoted 27 lines

Pass TARGET_ABI flags to gcc-final configure script in the --enable-cxx-flags parameter.

Fixes:
http://autobuild.buildroot.net/results/81a3bca5cbcf789c7ce1aa221a6a4154dd7c3917/
http://autobuild.buildroot.net/results/4943b214c29951ecc7af0a1f360b6454485c0b9b/

---
 package/gcc/gcc-final/gcc-final.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/gcc/gcc-final/gcc-final.mk +4 -0
index d873aa6..8d7009b 100644
@@ -185,4 +185,8 @@ endef
 HOST_GCC_FINAL_POST_INSTALL_HOOKS += HOST_GCC_FINAL_INSTALL_USR_LIBS
 endif
 
+ifeq ($(BR2_xtensa),y)
+HOST_GCC_FINAL_CONF_OPTS += --enable-cxx-flags="$(TARGET_ABI)"
+endif
+
 $(eval $(host-autotools-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH 1/1 gcc/gcc-final: pass TARGET_ABI flags to configure with --enable-cxx-flags

Quoted 5 lines · Arnout Vandecappelle
Quoted 2 lines · Max Filippov

libstdc++ is in all regards a normal library, it needs to be built with TARGET_ABI flags, otherwise linking it with other C++ code may fail.

Then why only do it for xtensa? And why not pass the full TARGET_CFLAGS?

To minimize the impact of the change: currently it's only problem for xtensa and only TARGET_ABI flags are really missing.
Yes, passing TARGET_CFLAGS works too. And probably it works for other architectures, but that needs testing. I can send v2 with these changes.

Signature · 2 lines
Thanks.
-- Max
#3 lore raw

PATCH 1/1 gcc/gcc-final: pass TARGET_ABI flags to configure with --enable-cxx-flags

Quoted 11 lines · Max Filippov
Quoted 5 lines · Arnout Vandecappelle
Quoted 2 lines · Max Filippov

libstdc++ is in all regards a normal library, it needs to be built with TARGET_ABI flags, otherwise linking it with other C++ code may fail.

Then why only do it for xtensa? And why not pass the full TARGET_CFLAGS?

To minimize the impact of the change: currently it's only problem for xtensa and only TARGET_ABI flags are really missing.
Yes, passing TARGET_CFLAGS works too. And probably it works for other architectures, but that needs testing. I can send v2 with these changes.

I guess we need this patch for 2015.05 then and TARGET_CFLAGS for -next.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#4 lore raw

PATCH 1/1 gcc/gcc-final: pass TARGET_ABI flags to configure with --enable-cxx-flags

Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Quoted 5 lines · Max Filippov
Quoted 4 lines · Arnout Vandecappelle
Quoted 2 lines · Max Filippov

libstdc++ is in all regards a normal library, it needs to be built with TARGET_ABI flags, otherwise linking it with other C++ code may fail.

Quoted 8 lines
Quoted 6 lines
Quoted 1 line

Then why only do it for xtensa? And why not pass the full TARGET_CFLAGS?

To minimize the impact of the change: currently it's only problem for xtensa and only TARGET_ABI flags are really missing.
Yes, passing TARGET_CFLAGS works too. And probably it works for other architectures, but that needs testing. I can send v2 with these changes.

I guess we need this patch for 2015.05 then and TARGET_CFLAGS for -next.

Agreed. I've committed this one for 2015.05 - Thanks.

Signature · 1 line
Bye, Peter Korsgaard