From 6da6150693d74eedfadec1db6c6b8a8d23283512 Mon Sep 17 00:00:00 2001 From: drow Date: Mon, 14 Apr 2008 19:47:28 +0000 Subject: [PATCH] * Makefile.in (GNULIB_H): New. Trigger all-lib. (defs_h): Use $(GNULIB_H). (all-lib): Depend on gnulib/Makefile. (gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps. * config.in, gnulib/Makefile.in: Regenerated. --- gdb/ChangeLog | 8 ++++ gdb/Makefile.in | 20 ++++++-- gdb/config.in | 123 +++++++++++++++++++++++++++++++++++++++++++++++++ gdb/gnulib/Makefile.in | 103 ++++++++++++++++++++++++++++++++++++++++- 4 files changed, 249 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 30230d22e0..7d964a8f43 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2008-04-14 Daniel Jacobowitz + * Makefile.in (GNULIB_H): New. Trigger all-lib. + (defs_h): Use $(GNULIB_H). + (all-lib): Depend on gnulib/Makefile. + (gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps. + * config.in, gnulib/Makefile.in: Regenerated. + +2008-04-14 Daniel Jacobowitz + * Makefile.in (LIBGNU, INCGNU): Define. (INTERNAL_CFLAGS_BASE): Add INCGNU. (INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 6dc2de6379..6cd77f1f95 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -164,6 +164,10 @@ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ LIBGNU = gnulib/libgnu.a INCGNU = -I$(srcdir)/gnulib -Ignulib +# Generated headers in the gnulib directory. These must be listed +# so that they are generated before other files are compiled. +GNULIB_H = gnulib/string.h + # # CLI sub directory definitons # @@ -754,9 +758,10 @@ completer_h = completer.h cp_abi_h = cp-abi.h cp_support_h = cp-support.h $(symtab_h) dcache_h = dcache.h +# Depend on $(GNULIB_H), since generated files are created in the gnulib build. defs_h = defs.h $(config_h) $(ansidecl_h) $(gdb_locale_h) $(gdb_signals_h) \ $(libiberty_h) $(bfd_h) $(ui_file_h) $(nm_h) \ - $(fopen_bin_h) $(gdbarch_h) + $(fopen_bin_h) $(gdbarch_h) $(GNULIB_H) dictionary_h = dictionary.h disasm_h = disasm.h doublest_h = doublest.h $(floatformat_h) @@ -1335,8 +1340,8 @@ $(TUI)$(EXEEXT): tui-main.o libgdb.a $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) # Convenience rule to handle recursion. -$(LIBGNU): all-lib -all-lib: +$(LIBGNU) $(GNULIB_H): all-lib +all-lib: gnulib/Makefile @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=gnulib subdir_do .PHONY: all-lib @@ -1442,11 +1447,18 @@ subdir_do: force Makefile: Makefile.in config.status @frags@ # Regenerate the Makefile and the tm.h / nm.h links. - CONFIG_FILES=Makefile \ + CONFIG_FILES="Makefile" \ CONFIG_COMMANDS= \ CONFIG_HEADERS= \ $(SHELL) config.status +gnulib/Makefile: gnulib/Makefile.in gnulib/Makefile.in config.status @frags@ + CONFIG_FILES="gnulib/Makefile" \ + CONFIG_COMMANDS="depfiles" \ + CONFIG_HEADERS= \ + CONFIG_LINKS= \ + $(SHELL) config.status + config.h: stamp-h ; @true stamp-h: config.in config.status CONFIG_HEADERS=config.h:config.in \ diff --git a/gdb/config.in b/gdb/config.in index fd83c62402..07f6fcad05 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -1,5 +1,20 @@ /* config.in. Generated from configure.ac by autoheader. */ +/* Define to the number of bits in type 'ptrdiff_t'. */ +#undef BITSIZEOF_PTRDIFF_T + +/* Define to the number of bits in type 'sig_atomic_t'. */ +#undef BITSIZEOF_SIG_ATOMIC_T + +/* Define to the number of bits in type 'size_t'. */ +#undef BITSIZEOF_SIZE_T + +/* Define to the number of bits in type 'wchar_t'. */ +#undef BITSIZEOF_WCHAR_T + +/* Define to the number of bits in type 'wint_t'. */ +#undef BITSIZEOF_WINT_T + /* Define to 1 if the compiler supports long long. */ #undef CC_HAS_LONG_LONG @@ -52,6 +67,9 @@ */ #undef HAVE_ALLOCA_H +/* Define to 1 if you have the header file. */ +#undef HAVE_BP_SYM_H + /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME @@ -76,6 +94,10 @@ */ #undef HAVE_DECL_MALLOC +/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't. + */ +#undef HAVE_DECL_MEMMEM + /* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't. */ #undef HAVE_DECL_PTRACE @@ -143,6 +165,9 @@ /* Define if you have the iconv() function. */ #undef HAVE_ICONV +/* Define if your compiler supports the #include_next directive. */ +#undef HAVE_INCLUDE_NEXT + /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H @@ -173,12 +198,21 @@ /* Define to 1 if the compiler supports long double. */ #undef HAVE_LONG_DOUBLE +/* Define to 1 if the system has the type `long long int'. */ +#undef HAVE_LONG_LONG_INT + /* Define if has lwpid_t. */ #undef HAVE_LWPID_T /* Define to 1 if you have the header file. */ #undef HAVE_MACHINE_REG_H +/* Define to 1 if you have the `memchr' function. */ +#undef HAVE_MEMCHR + +/* Define to 1 if you have the `memmem' function. */ +#undef HAVE_MEMMEM + /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H @@ -290,6 +324,15 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SIGNAL_H +/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ +#undef HAVE_SIGNED_SIG_ATOMIC_T + +/* Define to 1 if 'wchar_t' is a signed integer type. */ +#undef HAVE_SIGNED_WCHAR_T + +/* Define to 1 if 'wint_t' is a signed integer type. */ +#undef HAVE_SIGNED_WINT_T + /* Define to 1 if you have the `sigprocmask' function. */ #undef HAVE_SIGPROCMASK @@ -359,6 +402,9 @@ /* Define to 1 if you have the `syscall' function. */ #undef HAVE_SYSCALL +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_BITYPES_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_DEBUGREG_H @@ -375,6 +421,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_FILIO_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_INTTYPES_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H @@ -451,6 +500,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if the system has the type `unsigned long long int'. */ +#undef HAVE_UNSIGNED_LONG_LONG_INT + /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK @@ -463,6 +515,9 @@ /* Define to 1 if you have the `wborder' function. */ #undef HAVE_WBORDER +/* Define to 1 if you have the header file. */ +#undef HAVE_WCHAR_H + /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK @@ -528,6 +583,10 @@ /* Define as the return type of ptrace. */ #undef PTRACE_TYPE_RET +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'ptrdiff_t'. */ +#undef PTRDIFF_T_SUFFIX + /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE @@ -537,6 +596,10 @@ /* Define to 1 if the `setpgrp' function takes no argument. */ #undef SETPGRP_VOID +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'sig_atomic_t'. */ +#undef SIG_ATOMIC_T_SUFFIX + /* The size of a `char', as computed by sizeof. */ #undef SIZEOF_CHAR @@ -552,6 +615,10 @@ /* The size of a `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'size_t'. */ +#undef SIZE_T_SUFFIX + /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. @@ -583,6 +650,14 @@ when building for Cygwin. */ #undef USE_WIN32API +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wchar_t'. */ +#undef WCHAR_T_SUFFIX + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wint_t'. */ +#undef WINT_T_SUFFIX + /* Define if the simulator is being linked in. */ #undef WITH_SIM @@ -606,13 +681,45 @@ problem on IRIX 5. */ #undef _KMEMUSER +/* Define to 1 if on MINIX. */ +#undef _MINIX + /* Define to 1 to avoid a clash between and on Solaris 2.[789] when using GCC. */ #undef _MSE_INT_H +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#undef _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#undef _POSIX_SOURCE + /* Define if has link_map32 (solaris sparc-64 target) */ #undef _SYSCALL32 +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + /* Define to empty if `const' does not conform to ANSI C. */ #undef const @@ -622,8 +729,24 @@ #undef inline #endif +/* Define to rpl_memcmp if the replacement function should be used. */ +#undef memcmp + /* Define to `int' if does not define. */ #undef pid_t +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#undef restrict +/* Work around a bug in Sun C++: it does not support _Restrict, even + though the corresponding Sun C compiler does, which causes + "#define restrict _Restrict" in the previous line. Perhaps some future + version of Sun C++ will work with _Restrict; if so, it'll probably + define __RESTRICT, just as Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +#endif + /* Define as `fork' if `vfork' does not work. */ #undef vfork diff --git a/gdb/gnulib/Makefile.in b/gdb/gnulib/Makefile.in index 803dba17d8..84710edc25 100644 --- a/gdb/gnulib/Makefile.in +++ b/gdb/gnulib/Makefile.in @@ -54,7 +54,18 @@ subdir = gnulib DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/extensions.m4 \ + $(top_srcdir)/gnulib/m4/gnulib-common.m4 \ + $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \ + $(top_srcdir)/gnulib/m4/include_next.m4 \ + $(top_srcdir)/gnulib/m4/longlong.m4 \ + $(top_srcdir)/gnulib/m4/memchr.m4 \ + $(top_srcdir)/gnulib/m4/memcmp.m4 \ + $(top_srcdir)/gnulib/m4/memmem.m4 \ + $(top_srcdir)/gnulib/m4/onceonly_2_57.m4 \ + $(top_srcdir)/gnulib/m4/stdint.m4 \ + $(top_srcdir)/gnulib/m4/string_h.m4 \ + $(top_srcdir)/gnulib/m4/wchar.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/../bfd/bfd.m4 \ $(top_srcdir)/../config/acinclude.m4 \ $(top_srcdir)/../config/stdint.m4 \ @@ -70,6 +81,7 @@ CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru libgnu_a_AR = $(AR) $(ARFLAGS) +am__DEPENDENCIES_1 = am_libgnu_a_OBJECTS = dummy.$(OBJEXT) libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS) LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -96,6 +108,11 @@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ @@ -126,11 +143,73 @@ GDBTKLIBS = @GDBTKLIBS@ GDBTK_CFLAGS = @GDBTK_CFLAGS@ GDBTK_SRC_DIR = @GDBTK_SRC_DIR@ GENCAT = @GENCAT@ +GL_COND_LIBTOOL_FALSE = @GL_COND_LIBTOOL_FALSE@ +GL_COND_LIBTOOL_TRUE = @GL_COND_LIBTOOL_TRUE@ GMSGFMT = @GMSGFMT@ +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ +GNULIB_MBSCHR = @GNULIB_MBSCHR@ +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ +GNULIB_MBSLEN = @GNULIB_MBSLEN@ +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ +GNULIB_MBSSEP = @GNULIB_MBSSEP@ +GNULIB_MBSSPN = @GNULIB_MBSSPN@ +GNULIB_MBSSTR = @GNULIB_MBSSTR@ +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ +GNULIB_MEMMEM = @GNULIB_MEMMEM@ +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ +GNULIB_STPCPY = @GNULIB_STPCPY@ +GNULIB_STPNCPY = @GNULIB_STPNCPY@ +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ +GNULIB_STRDUP = @GNULIB_STRDUP@ +GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRNDUP = @GNULIB_STRNDUP@ +GNULIB_STRNLEN = @GNULIB_STRNLEN@ +GNULIB_STRPBRK = @GNULIB_STRPBRK@ +GNULIB_STRSEP = @GNULIB_STRSEP@ +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ +GNULIB_STRSTR = @GNULIB_STRSTR@ +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GREP = @GREP@ GUI_CFLAGS_X = @GUI_CFLAGS_X@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_LIBEXPAT = @HAVE_LIBEXPAT@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRNDUP = @HAVE_STRNDUP@ +HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRSEP = @HAVE_STRSEP@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ INCINTL = @INCINTL@ +INCLUDE_NEXT = @INCLUDE_NEXT@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -154,6 +233,8 @@ ITK_LIB_SPEC = @ITK_LIB_SPEC@ ITK_VERSION = @ITK_VERSION@ LDFLAGS = @LDFLAGS@ LIBEXPAT = @LIBEXPAT@ +LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@ +LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBGUI = @LIBGUI@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ @@ -168,6 +249,9 @@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MIG = @MIG@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_STRING_H = @NEXT_STRING_H@ +NEXT_WCHAR_H = @NEXT_WCHAR_H@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -178,15 +262,25 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PROFILE_CFLAGS = @PROFILE_CFLAGS@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ READLINE = @READLINE@ READLINE_CFLAGS = @READLINE_CFLAGS@ READLINE_DEPS = @READLINE_DEPS@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ +REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ SER_HARDWIRE = @SER_HARDWIRE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIM = @SIM@ SIM_OBS = @SIM_OBS@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDINT_H = @STDINT_H@ STRIP = @STRIP@ TARGET_OBS = @TARGET_OBS@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ @@ -223,10 +317,13 @@ TK_XLIBSW = @TK_XLIBSW@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ +WCHAR_H = @WCHAR_H@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ WIN32LDAPP = @WIN32LDAPP@ WIN32LIBS = @WIN32LIBS@ WINDRES = @WINDRES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XMKMF = @XMKMF@ X_CFLAGS = @X_CFLAGS@ @@ -254,6 +351,10 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ frags = @frags@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ -- 2.11.0