config/debug/gdb.in.gdbserver
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 2484 d1a8c2ae7946
permissions -rw-r--r--
scripts: refine static linking check to better guide the user

The current mechanism to check if static linking is possible, and the mesage
displayed on failure, can be puzzling to the unsuspecting user.

Also, the current implementation is not using the existing infrastructure,
and is thus difficult to enhance with new tests.

So, switch to using the standard CT_DoExecLog infra, and use four tests to
check for the host compiler:
- check we can run it
- check it can build a trivial program
- check it can statically link that program
- check if it statically link with libstdc++

That should cover most of the problems. Hopefully.

(At the same time, fix a typo in a comment)

Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
[yann.morin.1998@free.fr: use steps to better see gcc's output]
[yann.morin.1998@free.fr: commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
     1 # Menu for the native gdbserver
     2 
     3 config GDB_GDBSERVER
     4     bool
     5     prompt "gdbserver"
     6     depends on ! BARE_METAL
     7     help
     8       Build and install a gdbserver for the target, to run on the target.
     9 
    10 if GDB_GDBSERVER
    11 
    12 config GDB_GDBSERVER_HAS_IPA_LIB
    13     bool
    14     depends on GDB_7_2_or_later
    15     default y
    16 
    17 config GDB_GDBSERVER_STATIC
    18     bool
    19     prompt "Build a static gdbserver"
    20     default y
    21     help
    22       In case you have trouble with dynamic loading of shared libraries,
    23       you will find that a static gdbserver comes in handy.
    24 
    25 config GDB_GDBSERVER_BUILD_IPA_LIB
    26     bool
    27     prompt "Build the IPA library"
    28     depends on GDB_GDBSERVER_HAS_IPA_LIB && !GDB_GDBSERVER_STATIC
    29     help
    30       gdbserver >= 7.2 comes with an optional library to use tracepoints,
    31       the In Process Agent (IPA) library, libinproctrace.so.
    32       
    33       Say 'y' if you indend to use tracepoints when debugging your
    34       programs with gdbserver.
    35       
    36       Note: Currently, building this library is not possible when the
    37             gdbserver is built statically. This is a limitation in
    38             crosstool-NG, so do not bug upstream about it...
    39 
    40 endif # GDB_GDBSERVER
    41 
    42 if BARE_METAL
    43 comment "In bare-metal, you'll need to   "
    44 comment "provide your own gdbserver stub."
    45 endif # BARE_METAL