summaryrefslogtreecommitdiff
path: root/config/debug/gdb.in.native
blob: 48c85756852d3fec3b9e36500fe839b883689f5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Menu for the native GDB

config GDB_NATIVE
    bool
    prompt "Native gdb"
    depends on ! BARE_METAL
    depends on ! LIBC_BIONIC
    depends on CC_LANG_CXX || !GDB_8_0_or_later
    select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC && GDB_8_0_or_later
    select EXPAT_TARGET
    select NCURSES_TARGET
    help
      Build and install a native gdb for the target, to run on the target.

if GDB_NATIVE

config GDB_NATIVE_STATIC
    bool
    prompt "Build a static native gdb"
    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