gdb: arc: remove C++ dependency and disable build with C++
authorZakharov Vlad <Vladislav.Zakharov@synopsys.com>
Tue, 15 Nov 2016 15:21:31 +0000 (18:21 +0300)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 15 Nov 2016 22:08:15 +0000 (23:08 +0100)
gdb arc-2016.09-rc1 is based on upstream 7.12 gdb version where we can
still disable C++ build. For more information take a look at:
https://sourceware.org/gdb/wiki/cxx-conversion

We wanted to build gdb with C++ as it is used as default in 7.12
and is even a mandatory requirement since 2016/09.

But unfortunately we missed one runtime failure that C++ build causes
and so now we have to disable C++ build.

When gdb arc-2016.09-rc1 is built as a C++ application it segfaults at
runtime for ARC.

We are going to fix the issue in 2017.03 ARC toolchain release.  and
before this we remove C++ dependency are adding temporary workaround
to prevent runtime segfaults.

The workaround is to disable building gdb as C++ application via
passing --disable-build-with-cxx config option when building gdb for
ARC.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/gdb/Config.in
package/gdb/gdb.mk

index 0c6966ab35e8d06dacb21a780f504138c5304b1a..809e02d0763606d1556ebcb4a6c622a84ec69373 100644 (file)
@@ -2,10 +2,6 @@ comment "gdb/gdbserver needs a toolchain w/ threads, threads debug"
        depends on !BR2_nios2 && !BR2_bfin
        depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG
 
-comment "gdb/gdbserver needs a toolchain w/ C++"
-       depends on BR2_arc
-       depends on !BR2_INSTALL_LIBSTDCPP
-
 config BR2_PACKAGE_GDB
        bool "gdb"
        # When the external toolchain gdbserver is copied to the
@@ -15,8 +11,6 @@ config BR2_PACKAGE_GDB
                (!BR2_PACKAGE_GDB_DEBUGGER && !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY)
        depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG
        depends on !BR2_nios2 && !BR2_bfin
-       # Since ARC gdb moved to 7.12 toolchain requires C++ support to build gdb.
-       depends on !BR2_arc || BR2_INSTALL_LIBSTDCPP
        help
          GDB, the GNU Project debugger, allows you to see what is
          going on `inside' another program while it executes -- or
index ccf9e4968dc4d9feb337e663ee461f96ccfcf436..ea27d0c6eb93da8fccd6942aa9d1069a9508ca5a 100644 (file)
@@ -100,6 +100,13 @@ GDB_CONF_OPTS = \
        --disable-werror \
        --enable-static
 
+# When gdb is built as C++ application for ARC it segfaults at runtime
+# So we pass --disable-build-with-cxx config option to force gdb not to
+# be built as C++ app.
+ifeq ($(BR2_arc),y)
+GDB_CONF_OPTS += --disable-build-with-cxx
+endif
+
 ifeq ($(BR2_PACKAGE_GDB_TUI),y)
 GDB_CONF_OPTS += --enable-tui
 else