config/debug/gdb.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 14 16:21:07 2008 +0000 (2008-09-14)
changeset 850 ef8549b58b6f
parent 824 cc4590c03dd1
child 865 04cf91f13430
permissions -rw-r--r--
Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

/trunk/scripts/build/kernel/none.sh | 77 6 71 0 +----
/trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++-
/trunk/scripts/build/libc/none.sh | 513 9 504 0 +-----------------------------
/trunk/scripts/crosstool.sh | 17 9 8 0 +
/trunk/scripts/functions | 6 4 2 0 +
/trunk/scripts/showSamples.sh | 6 3 3 0
/trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++
/trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++
/trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++--
/trunk/config/kernel.in | 9 8 1 0 +
/trunk/config/toolchain.in | 1 1 0 0 +
/trunk/config/cc/gcc.in | 3 3 0 0 +
/trunk/config/debug/dmalloc.in | 1 1 0 0 +
/trunk/config/debug/gdb.in | 4 3 1 0 +
/trunk/config/debug/strace.in | 1 1 0 0 +
/trunk/config/debug/duma.in | 1 1 0 0 +
/trunk/config/cc.in | 8 8 0 0 +
/trunk/config/target.in | 13 13 0 0 +
/trunk/config/binutils.in | 1 1 0 0 +
/trunk/config/gmp_mpfr.in | 1 1 0 0 +
/trunk/config/libc.in | 17 11 6 0 +
/trunk/arch/arm/functions | 3 1 2 0 -
22 files changed, 600 insertions(+), 652 deletions(-)
yann@96
     1
# GDB menu
yann@96
     2
yann@96
     3
menuconfig GDB
yann@96
     4
    bool
yann@96
     5
    prompt "gdb"
yann@96
     6
    default n
yann@96
     7
    help
yann@96
     8
      Enable gdb for the target
yann@96
     9
yann@96
    10
if GDB
yann@96
    11
yann@96
    12
config GDB_CROSS
yann@96
    13
    bool
yann@96
    14
    prompt "Cross-gdb"
yann@96
    15
    default y
yann@850
    16
    select GDB_GDBSERVER if ! BARE_METAL
yann@96
    17
    help
yann@583
    18
      Build and install a cross-gdb for the target, to run on host.
yann@96
    19
yann@583
    20
config GDB_CROSS_STATIC
yann@457
    21
    bool
yann@457
    22
    prompt "Build a static cross gdb"
yann@457
    23
    default n
yann@457
    24
    depends on GDB_CROSS
yann@457
    25
    help
yann@457
    26
      A static cross gdb can be usefull if you debug on a machine that is
yann@583
    27
      not the one that is used to compile the toolchain.
yann@457
    28
yann@583
    29
      That way, you can share the cross-gdb without installing a toolchain
yann@583
    30
      on every machine that will be used to debug target programs.
yann@583
    31
yann@821
    32
config GDB_CROSS_INSIGHT
yann@821
    33
    bool
yann@821
    34
    prompt "Use Insight instead (EXPERIMENTAL)"
yann@821
    35
    default n
yann@821
    36
    depends on GDB_CROSS
yann@821
    37
    depends on EXPERIMENTAL
yann@821
    38
    help
yann@821
    39
      If you say 'Y' here, then Insight will be used to build the cross
yann@821
    40
      debugger, instead of the plain gdb.
yann@821
    41
      
yann@821
    42
      Insight is gdb plus a TCL/TK GUI: http://sourceware.org/insight/
yann@821
    43
yann@583
    44
config GDB_NATIVE
yann@583
    45
    bool
yann@583
    46
    prompt "Native gdb"
yann@583
    47
    default n
yann@850
    48
    depends on ! BARE_METAL
yann@583
    49
    help
yann@583
    50
      Build and install a native gdb for the target, to run on the target.
yann@583
    51
yann@583
    52
config GDB_NATIVE_STATIC
yann@583
    53
    bool
yann@583
    54
    prompt "Build a static native gdb"
yann@583
    55
    default n
yann@583
    56
    depends on GDB_NATIVE
yann@583
    57
    help
yann@583
    58
      In case you have trouble with dynamic loading of shared libraries,
yann@583
    59
      you will find that a static gdb comes in handy.
yann@583
    60
yann@622
    61
config GDB_NATIVE_USE_GMP_MPFR
yann@622
    62
    bool
yann@824
    63
    prompt "Use GMP and MPFR"
yann@622
    64
    default n
yann@622
    65
    depends on GDB_NATIVE
yann@622
    66
    select GMP_MPFR
yann@622
    67
    select GMP_MPFR_TARGET
yann@622
    68
    help
yann@622
    69
      gdb can make use of the GMP and MPFR libraries.
yann@622
    70
yann@622
    71
      While the cross-gdb (above) can use the libraries compiled for the
yann@622
    72
      host, the native gdb needs the libraries for the target (where it will
yann@622
    73
      eventually run).
yann@622
    74
yann@622
    75
      Setting this option will force building the GMP and MPFR libraries for
yann@622
    76
      the target, and configure the native gdb to use them.
yann@622
    77
yann@583
    78
config GDB_GDBSERVER
yann@583
    79
    bool
yann@583
    80
    prompt "gdbserver"
yann@583
    81
    default n
yann@850
    82
    depends on ! BARE_METAL
yann@583
    83
    help
yann@583
    84
      Build and install a gdbserver for the target, to run on the target.
yann@583
    85
yann@583
    86
config GDB_GDBSERVER_STATIC
yann@175
    87
    bool
yann@175
    88
    prompt "Build a static gdbserver"
yann@622
    89
    default y
yann@583
    90
    depends on GDB_GDBSERVER
yann@175
    91
    help
yann@175
    92
      In case you have trouble with dynamic loading of shared libraries,
yann@175
    93
      you will find that a static gdbserver comes in handy.
yann@175
    94
yann@96
    95
choice
yann@96
    96
    bool
yann@96
    97
    prompt "gdb version"
yann@583
    98
    depends on GDB_CROSS || GDB_NATIVE || GDB_GDBSERVER
yann@96
    99
yann@96
   100
config GDB_V_snapshot
yann@96
   101
    bool
yann@220
   102
    prompt "snapshot (EXPERIMENTAL)"
yann@96
   103
    depends on EXPERIMENTAL
yann@821
   104
    depends on ! GDB_CROSS_INSIGHT
yann@96
   105
yann@96
   106
config GDB_V_6_4
yann@96
   107
    bool
yann@330
   108
    prompt "6.4 (OBSOLETE)"
yann@96
   109
    depends on OBSOLETE
yann@96
   110
yann@96
   111
config GDB_V_6_5
yann@96
   112
    bool
yann@709
   113
    prompt "6.5 (OBSOLETE)"
yann@709
   114
    depends on OBSOLETE
yann@96
   115
yann@96
   116
config GDB_V_6_6
yann@96
   117
    bool
yann@96
   118
    prompt "6.6"
yann@96
   119
yann@477
   120
config GDB_V_6_7
yann@477
   121
    bool
yann@477
   122
    prompt "6.7 (EXPERIMENTAL)"
yann@477
   123
    depends on EXPERIMENTAL
yann@477
   124
yann@477
   125
config GDB_V_6_7_1
yann@477
   126
    bool
yann@477
   127
    prompt "6.7.1 (EXPERIMENTAL)"
yann@477
   128
    depends on EXPERIMENTAL
yann@477
   129
yann@477
   130
config GDB_V_6_8
yann@477
   131
    bool
yann@639
   132
    prompt "6.8"
yann@477
   133
yann@96
   134
# CT_INSERT_VERSION_ABOVE
yann@96
   135
# Don't remove above line!
yann@96
   136
endchoice
yann@96
   137
yann@96
   138
config GDB_VERSION
yann@96
   139
    string
yann@96
   140
    default "snapshot" if GDB_V_snapshot
yann@96
   141
    default "6.4" if GDB_V_6_4
yann@96
   142
    default "6.5" if GDB_V_6_5
yann@96
   143
    default "6.6" if GDB_V_6_6
yann@477
   144
    default "6.7" if GDB_V_6_7
yann@477
   145
    default "6.7.1" if GDB_V_6_7_1
yann@477
   146
    default "6.8" if GDB_V_6_8
yann@96
   147
# CT_INSERT_VERSION_STRING_ABOVE
yann@96
   148
# Don't remove above line!
yann@96
   149
yann@573
   150
if GDB_NATIVE
yann@573
   151
yann@573
   152
comment "Native gdb needs the ncurses library on the target"
yann@573
   153
yann@573
   154
choice
yann@573
   155
    bool
yann@573
   156
    prompt "ncurses version"
yann@573
   157
yann@573
   158
config NCURSES_V_5_6
yann@573
   159
    bool
yann@573
   160
    prompt "5.6"
yann@573
   161
yann@573
   162
endchoice
yann@573
   163
yann@573
   164
config NCURSES_VERSION
yann@573
   165
    string
yann@573
   166
    default "5.6" if NCURSES_V_5_6
yann@573
   167
yann@583
   168
endif # GDB_NATIVE --> ncurses
yann@573
   169
yann@96
   170
endif