config/libc/glibc-eglibc.in-common
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Thu Aug 18 16:05:48 2011 +0200 (2011-08-18)
changeset 2612 a52574521bea
parent 2585 45ef0b0660a5
child 2618 041d0cf137c4
permissions -rw-r--r--
debug/gdb: update GDB revisions

Update GDB with the latest available revisions.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
     1 # This file contains the common configuration options
     2 # that apply to both glibc and eglibc.
     3 
     4 # Some architectures require the ports addon. List them one by one here:
     5 # This list must be carefully in sync with the architectures names
     6 # we can find in config/arch/*
     7 config LIBC_GLIBC_MAY_FORCE_PORTS
     8     bool
     9     default y if ARCH_arm
    10     default y if ARCH_mips
    11     select LIBC_GLIBC_USE_PORTS
    12 
    13 # Force using the BFD linker during the toolchain build
    14 config LIBC_glibc_familly
    15     bool
    16     default y
    17     select BINUTILS_FORCE_LD_BFD
    18 
    19 config LIBC_GLIBC_EXTRA_CONFIG_ARRAY
    20     string
    21     prompt "extra config"
    22     default ""
    23     help
    24       Extra flags to pass onto ./configure when configuring.
    25 
    26       You can enter multiple arguments here, and arguments can contain spaces
    27       if they are properly quoted (or escaped, but prefer quotes). Eg.:
    28           --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
    29 
    30 config LIBC_GLIBC_CONFIGPARMS
    31     string
    32     prompt "Extra config params (READ HELP)"
    33     default "" if ! ARCH_sh
    34     default "no-z-defs=yes" if ARCH_sh
    35     help
    36       Some architectures need to set options in the file configparms.
    37       This is the case for sh3/4, which really need to set configparms
    38       to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
    39       
    40       Unless you are building a toolchain for sh3/4, you should leave that empty.
    41       
    42       Note: If you need to pass more than one value, separate them with
    43             '\n'. Eg.:  var1=val1\nvar2=val2
    44 
    45 config LIBC_GLIBC_EXTRA_CFLAGS
    46     string
    47     prompt "extra target CFLAGS"
    48     default ""
    49     help
    50       Extra target CFLAGS to use when building.
    51 
    52 config LIBC_EXTRA_CC_ARGS
    53     string
    54     prompt "gcc extra flags"
    55     default ""
    56     help
    57       Extra flags to pass gcc when building.
    58 
    59       Seldom used, except for sparc64 which seems to need the flag -64
    60       to be passed onto gcc.
    61 
    62 config LIBC_ENABLE_FORTIFIED_BUILD
    63     bool
    64     prompt "Enable fortified build (EXPERIMENTAL)"
    65     depends on EXPERIMENTAL
    66     help
    67       If you say 'y' here, then glibc will be using fortified versions
    68       of functions with format arguments (eg. vsyslog, printf...), and
    69       do a sanity check on the format at runtime, to avoid some of the
    70       common format string attacks.
    71       
    72       This is currently not supported, and will most probably result in
    73       a broken build, with an error message like:
    74         ../misc/syslog.c: In function '__vsyslog_chk':
    75         ../misc/syslog.c:123: sorry, unimplemented: inlining failed in
    76         call to 'syslog': function body not available
    77       
    78       If you are brave enough and want to debug the issue, then say 'y'
    79       here. Otherwise, be still and say 'n' (the default). ;-)
    80 
    81 
    82 config LIBC_DISABLE_VERSIONING
    83     bool
    84     prompt "Disable symbols versioning"
    85     help
    86       Do not include versioning information in the library objects.
    87 
    88 config LIBC_OLDEST_ABI
    89     string
    90     prompt "Oldest supported ABI"
    91     default ""
    92     help
    93       Set the oldest ABI supported by the C library.
    94       
    95       Setting this option, for example, to 2.2 will provide ABI support
    96       back to (e)glibc-2.2.
    97 
    98       If this option is not set, (e)glibc will choose for you.
    99 
   100 config LIBC_GLIBC_FORCE_UNWIND
   101     bool
   102     prompt "Force unwind support (READ HELP!)"
   103     help
   104       If your toolchain fails building while building the C library
   105       start files, or the complete C library, with a message like:
   106         configure: error: forced unwind support is required
   107       
   108       then you may try setting this to 'y'. Otherwise, leave it to 'n'.
   109       
   110       The issue seems to be related to building NPTL on old versions
   111       of glibc (and possibly eglibc as well) on some architectures
   112       (seen on s390, s390x and x86_64).
   113 
   114 config LIBC_GLIBC_USE_PORTS
   115     bool
   116     prompt "Use the ports addon"
   117     help
   118       The ports addon contains some architecture ports that are not available
   119       in the official distribution.
   120 
   121       For example, this is the case for ARM with glibc-2.4 and above.
   122 
   123       Say n only if you're sure that your architecture is in the official
   124       distribution for your chosen version.
   125 
   126 config LIBC_ADDONS_LIST
   127     string
   128     prompt "Extra addons"
   129     default ""
   130     help
   131       Extra addons to include. Space separated list.
   132 
   133       You need to specify neither linuxthreads nor nptl, as they are added
   134       automagically for you depending on the threading model you choosed
   135       earlier.
   136 
   137       Eg.: crypt        (for very old libces)
   138 
   139 if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" )
   140 comment "WARNING !!!                                            "
   141 comment "|  For glibc >= 2.8, it can happen that the tarballs    "
   142 comment "|  for the addons are not available for download.       "
   143 comment "|  If that happens, bad luck... Try a previous version  "
   144 comment "|  or try again later... :-(                            "
   145 endif
   146 
   147 config LIBC_LOCALES
   148     bool
   149     prompt "Build and install locales"
   150     help
   151       Whether to build and install the libc locale files for the target,
   152       which is required in order to support internationalization.
   153 
   154 if LIBC_glibc && LIBC_LOCALES
   155 comment "WARNING!                                                     "
   156 comment "|  The built locales will be usable if and only if the build  "
   157 comment "|  machine and the target:                                    "
   158 comment "|   - have the same endianness,                               "
   159 comment "|   - and have the same alignment requirements for uint32_t.  "
   160 comment "|  You will have to check by yourself (for now).              "
   161 endif # LIBC_glibc && LIBC_LOCALES
   162 
   163 if KERNEL_linux
   164 
   165 choice LIBC_GLIBC_SUPPORTED_KERNEL
   166     bool
   167     prompt "Minimum supported kernel version"
   168     default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   169 
   170 config LIBC_GLIBC_KERNEL_VERSION_NONE
   171     bool
   172     prompt "Let ./configure decide"
   173     help
   174       Let ./configure decide what minimum kernel version glibc/eglibc
   175       will be able to run against.
   176       
   177       This will include legacy compatibility code for older kernels in
   178       the C library, thus ensuring that it will run on a large number
   179       of old kernels.
   180       
   181       The minimum kernel version supported will be dependent upon the
   182       target you build for. For example:
   183         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   184         sh[34]-*-linux-gnu      Requires Linux 2.6.11
   185         powerpc*                Requires Linux 2.4.19
   186         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   187 
   188 config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   189     bool
   190     prompt "Same as kernel headers (default)"
   191     help
   192       Normally, you'll want glibc/eglibc to run against the same kernel
   193       version as the one used for the headers.
   194       
   195       This is the default.
   196       
   197       If enabled, crosstool-ng will use the chosen version of kernel
   198       headers for the glibc minimum kernel version supported, which is
   199       what gets passed to "--enable-kernel=" when configuring glibc.
   200       
   201       Enabling this will ensure that no legacy compatibility code for
   202       older kernels is built into your C libraries, but it will
   203       be unable to run on kernel versions older than whichever kernel
   204       headers version you've built the toolchain for.
   205       
   206       If you know for sure that your toolchain will never need to build
   207       applications that will run under a kernel version older than your
   208       chosen kernel headers version (CT_KERNEL_VERSION), you can choose
   209       "y" here.
   210 
   211 config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   212     bool
   213     prompt "Specific kernel version"
   214     help
   215       Specify the earliest Linux kernel version you want glibc to
   216       include support for.  This does not have to match the kernel
   217       headers version used for your toolchain.  This controls what is
   218       passed to the "--enable-kernel=" option to the glibc configure
   219       script.
   220 
   221       If you want to be able to statically link programs with your
   222       toolchain's C library, make sure this kernel version is lower than
   223       all kernels you wish to support to avoid "FATAL: kernel too old"
   224       errors.  The higher the version you specify, the less legacy code
   225       will be built into libc.
   226 
   227       Most people can leave this at the default value of "2.6.9".
   228 
   229 if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   230 
   231 config LIBC_GLIBC_MIN_KERNEL_VERSION
   232     string
   233     prompt "Minimum kernel version to support"
   234     default "2.6.9"
   235     help
   236       Enter here the lowest kernel version glibc/eglibc will be able to
   237       run against.
   238       
   239       The minimum kernel version supported will be dependent upon the
   240       target you build for. For example:
   241         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   242         sh[34]-*-linux-gnu      Requires Linux 2.6.11
   243         powerpc*                Requires Linux 2.4.19
   244         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   245       
   246       Note that no sanity check is performed by crosstool-NG to ensure
   247       that the value you enter here is appropriate for your target.
   248 
   249 endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   250 
   251 endchoice
   252 
   253 config LIBC_GLIBC_MIN_KERNEL
   254     string
   255     default ""                            if LIBC_GLIBC_KERNEL_VERSION_NONE
   256     default KERNEL_VERSION                if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   257     default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   258 
   259 endif # KERNEL_linux