Use autoconf check for long long in binutils

Also fix a place where %lld was wrongly used to print a dwarf_vma.

	* configure.ac: Check for long long and sizes of long long and long.
	* elfcomm.h (HOST_WIDEST_INT): Test HAVE_LONG_LONG in place of
	__STDC_VERSION__ and __GNUC__.
	* strings.c (print_strings): Likewise.
	* dwarf.c (DWARF_VMA_FMT, DWARF_VMA_FMT_LONG): Likewise.
	(read_debug_line_header): Use dwarf_vmatoa to print warning.
	* configure: Regenerate.
	* config.in: Regenerate.
This commit is contained in:
Alan Modra
2014-12-11 16:02:35 +10:30
parent 1b43a4392f
commit 4c219c2e69
7 changed files with 360 additions and 26 deletions

View File

@ -578,14 +578,14 @@ print_strings (const char *filename, FILE *stream, file_ptr address,
switch (address_radix)
{
case 8:
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
#ifdef HAVE_LONG_LONG
if (sizeof (start) > sizeof (long))
{
#ifndef __MSVCRT__
# ifndef __MSVCRT__
printf ("%7llo ", (unsigned long long) start);
#else
# else
printf ("%7I64o ", (unsigned long long) start);
#endif
# endif
}
else
#elif !BFD_HOST_64BIT_LONG
@ -597,14 +597,14 @@ print_strings (const char *filename, FILE *stream, file_ptr address,
break;
case 10:
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
#ifdef HAVE_LONG_LONG
if (sizeof (start) > sizeof (long))
{
#ifndef __MSVCRT__
# ifndef __MSVCRT__
printf ("%7lld ", (unsigned long long) start);
#else
# else
printf ("%7I64d ", (unsigned long long) start);
#endif
# endif
}
else
#elif !BFD_HOST_64BIT_LONG
@ -616,14 +616,14 @@ print_strings (const char *filename, FILE *stream, file_ptr address,
break;
case 16:
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
#ifdef HAVE_LONG_LONG
if (sizeof (start) > sizeof (long))
{
#ifndef __MSVCRT__
# ifndef __MSVCRT__
printf ("%7llx ", (unsigned long long) start);
#else
# else
printf ("%7I64x ", (unsigned long long) start);
#endif
# endif
}
else
#elif !BFD_HOST_64BIT_LONG