diff mbox

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

Message ID 1432625556-14611-1-git-send-email-jcmvbkbc@gmail.com
State Accepted
Commit 2dcab526a97d1dbcb73c3cd578e5bf2853853a10
Headers show

Commit Message

Max Filippov May 26, 2015, 7:32 a.m. UTC
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/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 package/gcc/gcc-final/gcc-final.mk | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Arnout Vandecappelle May 27, 2015, 9:45 p.m. UTC | #1
On 05/26/15 09:32, Max Filippov wrote:
> 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

> 
> 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/
> 
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
>  package/gcc/gcc-final/gcc-final.mk | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
> index d873aa6..8d7009b 100644
> --- a/package/gcc/gcc-final/gcc-final.mk
> +++ b/package/gcc/gcc-final/gcc-final.mk
> @@ -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))
>
Max Filippov May 28, 2015, 3:10 a.m. UTC | #2
On Thu, May 28, 2015 at 12:45 AM, Arnout Vandecappelle <arnout@mind.be> wrote:
> On 05/26/15 09:32, Max Filippov wrote:
>> 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.
Arnout Vandecappelle May 28, 2015, 7:24 p.m. UTC | #3
On 05/28/15 05:10, Max Filippov wrote:
> On Thu, May 28, 2015 at 12:45 AM, Arnout Vandecappelle <arnout@mind.be> wrote:

>> On 05/26/15 09:32, Max Filippov wrote:

>>> 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


-- 
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
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Peter Korsgaard May 31, 2015, 8:52 p.m. UTC | #4
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 > On 05/28/15 05:10, Max Filippov wrote:
 >> On Thu, May 28, 2015 at 12:45 AM, Arnout Vandecappelle <arnout@mind.be> wrote:
 >>> On 05/26/15 09:32, Max Filippov wrote:
 >>>> 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.

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

Patch

diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index d873aa6..8d7009b 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -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))