diff options
author | Tom Tromey <tromey@adacore.com> | 2021-09-29 12:51:15 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2021-10-19 13:14:48 -0600 |
commit | 5dfe4bfcb96945dc5cc1f8717be454f1f7f6bbec (patch) | |
tree | aae9e022c794f4887ad3e9ac759bcb0de647e183 /gdbsupport/common.m4 | |
parent | 05fb05a94729473cb04b1299fe5c36e06525c78f (diff) | |
download | gdb-5dfe4bfcb96945dc5cc1f8717be454f1f7f6bbec.zip gdb-5dfe4bfcb96945dc5cc1f8717be454f1f7f6bbec.tar.gz gdb-5dfe4bfcb96945dc5cc1f8717be454f1f7f6bbec.tar.bz2 |
Fix format_pieces selftest on Windows
The format_pieces selftest currently fails on Windows hosts.
The selftest doesn't handle the "%ll" -> "%I64" rewrite that the
formatter may perform, but also gdbsupport was missing a configure
check for PRINTF_HAS_LONG_LONG. This patch fixes both issues.
Diffstat (limited to 'gdbsupport/common.m4')
-rw-r--r-- | gdbsupport/common.m4 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gdbsupport/common.m4 b/gdbsupport/common.m4 index 901c454..07c7b2a 100644 --- a/gdbsupport/common.m4 +++ b/gdbsupport/common.m4 @@ -163,6 +163,27 @@ AC_DEFUN([GDB_AC_COMMON], [ fi fi + # Check if the compiler and runtime support printing long longs. + + AC_CACHE_CHECK([for long long support in printf], + gdb_cv_printf_has_long_long, + [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], + [[char buf[32]; + long long l = 0; + l = (l << 16) + 0x0123; + l = (l << 16) + 0x4567; + l = (l << 16) + 0x89ab; + l = (l << 16) + 0xcdef; + sprintf (buf, "0x%016llx", l); + return (strcmp ("0x0123456789abcdef", buf));]])], + gdb_cv_printf_has_long_long=yes, + gdb_cv_printf_has_long_long=no, + gdb_cv_printf_has_long_long=no)]) + if test "$gdb_cv_printf_has_long_long" = yes; then + AC_DEFINE(PRINTF_HAS_LONG_LONG, 1, + [Define to 1 if the "%ll" format works to print long longs.]) + fi + BFD_SYS_PROCFS_H if test "$ac_cv_header_sys_procfs_h" = yes; then BFD_HAVE_SYS_PROCFS_TYPE(gregset_t) |