config/libc.in
author Joachim Nilsson <jocke@vmlinux.org>
Fri Jan 01 12:17:39 2010 +0100 (2010-01-01)
changeset 1671 08a5129e6eb0
parent 1585 646bafb5b7f2
child 1870 a4c4e51aa541
permissions -rw-r--r--
debug/strace: fix strace 4.5.19 to properly build with latest Linux kernels

Here's a couple of patches to get strace 4.5.19 to configure and build
properly with the latest kernel headers. Not pretty, but hopefully
enough while we wait for 4.5.20 to be released.

With the current strace-4.5.19 patches I failed to get the configure
script running even on my host environment. Also, when cross building
the configure script needs to look for the proper system headers to be
able to properly set HAVE_LINUX_NETLINK_H. Otherwise you get:

[EXTRA] Building strace
[ERROR] /home/jocke/x-tools/targets/src/strace-4.5.19/net.c:976:
error: field 'nl' has incomplete type
[ERROR] make[2]: *** [net.o] Error 1
[ERROR] make[1]: *** [all] Error 2

The fix was simple, backport a change set from the git[1] tree and run
autoreconf to update the configure script.

[1] - http://strace.git.sourceforge.net/git/gitweb.cgi?p=strace/strace;a=commit;h=f0df31e71a58c6e79ba77c1a9d84b2f38d44bec7
     1 # C library options
     2 
     3 menu "C-library"
     4 
     5 config LIBC
     6     string
     7 
     8 config LIBC_VERSION
     9     string
    10     help
    11       Enter the date of the snapshot you want to use in the form: YYYYMMDD
    12       where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit
    13       day in the month.
    14       
    15       Please note:
    16       - glibc has snapshots done every monday, and only the last ten are kept.
    17       - uClibc has daily snapshots, and only the last 30-or-so are kept.
    18       
    19       So if you want to be able to re-build your toolchain later, you will
    20       have to save your C library tarball by yourself.
    21 
    22 source config.gen/libc.in
    23 
    24 config LIBC_SUPPORT_NPTL
    25     bool
    26     default n
    27 
    28 config LIBC_SUPPORT_LINUXTHREADS
    29     bool
    30     default n
    31 
    32 config THREADS
    33     string
    34     default "nptl"          if THREADS_NPTL
    35     default "linuxthreads"  if THREADS_LINUXTHREADS
    36     default "none"          if THREADS_NONE || LIBC_none
    37 #                              No C library, no threads!
    38 
    39 if ! LIBC_none
    40 
    41 comment "Common C library options"
    42 
    43 choice
    44     bool
    45     prompt "Threading implementation to use:"
    46     default THREADS_NPTL           if LIBC_SUPPORT_NPTL
    47     default THREADS_LINUXTHREADS   if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
    48     default THREADS_NONE           if ! LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
    49 
    50 config THREADS_NPTL
    51     bool
    52     prompt "nptl"
    53     depends on LIBC_SUPPORT_NPTL
    54 
    55 config THREADS_LINUXTHREADS
    56     bool
    57     prompt "linuxthreads"
    58     depends on LIBC_SUPPORT_LINUXTHREADS
    59 
    60 config THREADS_NONE
    61     bool
    62     prompt "none"
    63 
    64 endchoice
    65 
    66 endif # ! LIBC_none
    67 
    68 endmenu