From 061765ced66642c0a98b9e4a76e18dc630ad3199 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Wed, 15 Mar 2017 01:22:19 -0700 Subject: Mark static gdb/gdbserver EXPERIMENTAL ... and default to 'n'. Signed-off-by: Alexey Neyman diff --git a/config/debug/gdb.in.gdbserver b/config/debug/gdb.in.gdbserver index 2f5576b..07e6e13 100644 --- a/config/debug/gdb.in.gdbserver +++ b/config/debug/gdb.in.gdbserver @@ -15,15 +15,30 @@ config GDB_GDBSERVER_HAS_IPA_LIB depends on GDB_7_2_or_later default y +# gdbserver is then linked with "-static -Wl,--dynamic-list=..." which config GDB_GDBSERVER_STATIC bool prompt "Build a static gdbserver" - depends on CONFIGURE_has_static_link - default y + depends on EXPERIMENTAL help In case you have trouble with dynamic loading of shared libraries, you will find that a static gdbserver comes in handy. + However, it has been noticed at least on x86 that enabling this + option produces an invalid gdbserver binary. It is linked with + "-static -Wl,--dynamic-list=..." which + # (a) requests invalid program interpreter + # (b) crashes glibc/uClibc-ng and does not work with musl + # See https://sourceware.org/ml/libc-alpha/2017-03/msg00267.html + + It is possible it would work with other architectures, hence it is + not completely removed. Use with care and report to the mailing list + if the resulting gdbserver works. + + For further details, see: + https://sourceware.org/bugzilla/show_bug.cgi?id=19617 + https://sourceware.org/bugzilla/show_bug.cgi?id=21086 + config GDB_GDBSERVER_BUILD_IPA_LIB bool prompt "Build the IPA library" diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native index 915debd..8684c05 100644 --- a/config/debug/gdb.in.native +++ b/config/debug/gdb.in.native @@ -15,9 +15,24 @@ if GDB_NATIVE config GDB_NATIVE_STATIC bool prompt "Build a static native gdb" - depends on CONFIGURE_has_static_link + depends on EXPERIMENTAL help In case you have trouble with dynamic loading of shared libraries, you will find that a static gdb comes in handy. + However, it has been noticed at least on x86 that enabling this + option produces an invalid gdb binary. It is linked with + "-static -Wl,--dynamic-list=..." which + # (a) requests invalid program interpreter + # (b) crashes glibc/uClibc-ng and does not work with musl + # See https://sourceware.org/ml/libc-alpha/2017-03/msg00267.html + + It is possible it would work with other architectures, hence it is + not completely removed. Use with care and report to the mailing list + if the resulting gdbserver works. + + For further details, see: + https://sourceware.org/bugzilla/show_bug.cgi?id=19617 + https://sourceware.org/bugzilla/show_bug.cgi?id=21086 + endif # GDB_NATIVE -- cgit v0.10.2-6-g49f6