mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-27 14:00:30 +00:00
Add mingw I64 support for printing long and long long values
This commit is contained in:
parent
53d25da64b
commit
6e3d6dc1ed
@ -1,3 +1,9 @@
|
|||||||
|
2008-01-25 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
|
* bfd-in.h: Add mingw I64 support.
|
||||||
|
* bfd-in2.h: Regenerated.
|
||||||
|
* bfd.c: (bfd_get_sign_extend_vma): Add pe-x86-64 and pei-x86-64.
|
||||||
|
|
||||||
2008-01-21 Alan Modra <amodra@bigpond.net.au>
|
2008-01-21 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
PR 4453
|
PR 4453
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* Main header file for the bfd library -- portable access to object files.
|
/* Main header file for the bfd library -- portable access to object files.
|
||||||
|
|
||||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
Contributed by Cygnus Support.
|
Contributed by Cygnus Support.
|
||||||
@ -133,9 +133,14 @@ typedef BFD_HOST_U_64_BIT symvalue;
|
|||||||
#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
|
#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
|
||||||
#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
|
#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
|
||||||
#elif BFD_HOST_64BIT_LONG_LONG
|
#elif BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
|
#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
|
||||||
#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
|
#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
|
||||||
#else
|
#else
|
||||||
|
#define sprintf_vma(s,x) sprintf (s, "%016I64x", x)
|
||||||
|
#define fprintf_vma(f,x) fprintf (f, "%016I64x", x)
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
|
#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
|
||||||
#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
|
#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
|
||||||
#define fprintf_vma(s,x) \
|
#define fprintf_vma(s,x) \
|
||||||
|
@ -140,9 +140,14 @@ typedef BFD_HOST_U_64_BIT symvalue;
|
|||||||
#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
|
#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
|
||||||
#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
|
#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
|
||||||
#elif BFD_HOST_64BIT_LONG_LONG
|
#elif BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
|
#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
|
||||||
#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
|
#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
|
||||||
#else
|
#else
|
||||||
|
#define sprintf_vma(s,x) sprintf (s, "%016I64x", x)
|
||||||
|
#define fprintf_vma(f,x) fprintf (f, "%016I64x", x)
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
|
#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
|
||||||
#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
|
#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
|
||||||
#define fprintf_vma(s,x) \
|
#define fprintf_vma(s,x) \
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* Generic BFD library interface and support routines.
|
/* Generic BFD library interface and support routines.
|
||||||
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
Written by Cygnus Support.
|
Written by Cygnus Support.
|
||||||
|
|
||||||
@ -916,6 +916,8 @@ bfd_get_sign_extend_vma (bfd *abfd)
|
|||||||
if (CONST_STRNEQ (name, "coff-go32")
|
if (CONST_STRNEQ (name, "coff-go32")
|
||||||
|| strcmp (name, "pe-i386") == 0
|
|| strcmp (name, "pe-i386") == 0
|
||||||
|| strcmp (name, "pei-i386") == 0
|
|| strcmp (name, "pei-i386") == 0
|
||||||
|
|| strcmp (name, "pe-x86-64") == 0
|
||||||
|
|| strcmp (name, "pei-x86-64") == 0
|
||||||
|| strcmp (name, "pe-arm-wince-little") == 0
|
|| strcmp (name, "pe-arm-wince-little") == 0
|
||||||
|| strcmp (name, "pei-arm-wince-little") == 0)
|
|| strcmp (name, "pei-arm-wince-little") == 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2008-01-25 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
|
* prdbg.c: Correct formatter style use.
|
||||||
|
* readelf.c: Likewise.
|
||||||
|
* strings.c: Likewise.
|
||||||
|
|
||||||
2008-01-25 Nick Clifton <nickc@redhat.com>
|
2008-01-25 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* po/ru.po: Updated Russian translation.
|
* po/ru.po: Updated Russian translation.
|
||||||
|
115
binutils/dwarf.c
115
binutils/dwarf.c
@ -1007,19 +1007,20 @@ decode_location_expression (unsigned char * data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static unsigned char *
|
static unsigned char *
|
||||||
read_and_display_attr_value (unsigned long attribute,
|
read_and_display_attr_value (unsigned long attribute,
|
||||||
unsigned long form,
|
unsigned long form,
|
||||||
unsigned char * data,
|
unsigned char * data,
|
||||||
unsigned long cu_offset,
|
unsigned long cu_offset,
|
||||||
unsigned long pointer_size,
|
unsigned long pointer_size,
|
||||||
unsigned long offset_size,
|
unsigned long offset_size,
|
||||||
int dwarf_version,
|
int dwarf_version,
|
||||||
debug_info * debug_info_p,
|
debug_info * debug_info_p,
|
||||||
int do_loc,
|
int do_loc,
|
||||||
unsigned char * section_start)
|
struct dwarf_section * section)
|
||||||
{
|
{
|
||||||
unsigned long uvalue = 0;
|
unsigned long uvalue = 0;
|
||||||
unsigned char *block_start = NULL;
|
unsigned char *block_start = NULL;
|
||||||
|
unsigned char * orig_data = data;
|
||||||
unsigned int bytes_read;
|
unsigned int bytes_read;
|
||||||
|
|
||||||
switch (form)
|
switch (form)
|
||||||
@ -1092,7 +1093,7 @@ read_and_display_attr_value (unsigned long attribute,
|
|||||||
cu_offset, pointer_size,
|
cu_offset, pointer_size,
|
||||||
offset_size, dwarf_version,
|
offset_size, dwarf_version,
|
||||||
debug_info_p, do_loc,
|
debug_info_p, do_loc,
|
||||||
section_start);
|
section);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (form)
|
switch (form)
|
||||||
@ -1479,23 +1480,29 @@ read_and_display_attr_value (unsigned long attribute,
|
|||||||
|
|
||||||
case DW_AT_import:
|
case DW_AT_import:
|
||||||
{
|
{
|
||||||
unsigned long abbrev_number;
|
|
||||||
abbrev_entry * entry;
|
|
||||||
|
|
||||||
if (form == DW_FORM_ref1
|
if (form == DW_FORM_ref1
|
||||||
|| form == DW_FORM_ref2
|
|| form == DW_FORM_ref2
|
||||||
|| form == DW_FORM_ref4)
|
|| form == DW_FORM_ref4)
|
||||||
uvalue += cu_offset;
|
uvalue += cu_offset;
|
||||||
|
|
||||||
abbrev_number = read_leb128 (section_start + uvalue, NULL, 0);
|
if (uvalue >= section->size)
|
||||||
|
warn (_("Offset %lx used as value for DW_AT_import attribute of DIE at offset %lx is too big.\n"),
|
||||||
|
uvalue, (long int)(orig_data - section->start));
|
||||||
|
else
|
||||||
|
{
|
||||||
|
unsigned long abbrev_number;
|
||||||
|
abbrev_entry * entry;
|
||||||
|
|
||||||
|
abbrev_number = read_leb128 (section->start + uvalue, NULL, 0);
|
||||||
|
|
||||||
printf ("[Abbrev Number: %ld", abbrev_number);
|
printf ("[Abbrev Number: %ld", abbrev_number);
|
||||||
for (entry = first_abbrev; entry != NULL; entry = entry->next)
|
for (entry = first_abbrev; entry != NULL; entry = entry->next)
|
||||||
if (entry->entry == abbrev_number)
|
if (entry->entry == abbrev_number)
|
||||||
break;
|
break;
|
||||||
if (entry != NULL)
|
if (entry != NULL)
|
||||||
printf (" (%s)", get_TAG_name (entry->tag));
|
printf (" (%s)", get_TAG_name (entry->tag));
|
||||||
printf ("]");
|
printf ("]");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1661,23 +1668,23 @@ get_AT_name (unsigned long attribute)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static unsigned char *
|
static unsigned char *
|
||||||
read_and_display_attr (unsigned long attribute,
|
read_and_display_attr (unsigned long attribute,
|
||||||
unsigned long form,
|
unsigned long form,
|
||||||
unsigned char * data,
|
unsigned char * data,
|
||||||
unsigned long cu_offset,
|
unsigned long cu_offset,
|
||||||
unsigned long pointer_size,
|
unsigned long pointer_size,
|
||||||
unsigned long offset_size,
|
unsigned long offset_size,
|
||||||
int dwarf_version,
|
int dwarf_version,
|
||||||
debug_info * debug_info_p,
|
debug_info * debug_info_p,
|
||||||
int do_loc,
|
int do_loc,
|
||||||
unsigned char * section_start)
|
struct dwarf_section * section)
|
||||||
{
|
{
|
||||||
if (!do_loc)
|
if (!do_loc)
|
||||||
printf (" %-18s:", get_AT_name (attribute));
|
printf (" %-18s:", get_AT_name (attribute));
|
||||||
data = read_and_display_attr_value (attribute, form, data, cu_offset,
|
data = read_and_display_attr_value (attribute, form, data, cu_offset,
|
||||||
pointer_size, offset_size,
|
pointer_size, offset_size,
|
||||||
dwarf_version, debug_info_p,
|
dwarf_version, debug_info_p,
|
||||||
do_loc, section_start);
|
do_loc, section);
|
||||||
if (!do_loc)
|
if (!do_loc)
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
return data;
|
return data;
|
||||||
@ -1689,7 +1696,8 @@ read_and_display_attr (unsigned long attribute,
|
|||||||
anything to the user. */
|
anything to the user. */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
process_debug_info (struct dwarf_section *section, void *file,
|
process_debug_info (struct dwarf_section *section,
|
||||||
|
void *file,
|
||||||
int do_loc)
|
int do_loc)
|
||||||
{
|
{
|
||||||
unsigned char *start = section->start;
|
unsigned char *start = section->start;
|
||||||
@ -1954,7 +1962,7 @@ process_debug_info (struct dwarf_section *section, void *file,
|
|||||||
offset_size,
|
offset_size,
|
||||||
compunit.cu_version,
|
compunit.cu_version,
|
||||||
debug_information + unit,
|
debug_information + unit,
|
||||||
do_loc, section->start);
|
do_loc, section);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entry->children)
|
if (entry->children)
|
||||||
@ -2289,6 +2297,21 @@ display_debug_lines (struct dwarf_section *section, void *file)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static debug_info *
|
||||||
|
find_debug_info_for_offset (unsigned long offset)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
if (num_debug_info_entries == DEBUG_INFO_UNAVAILABLE)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
for (i = 0; i < num_debug_info_entries; i++)
|
||||||
|
if (debug_information[i].cu_offset == offset)
|
||||||
|
return debug_information + i;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
display_debug_pubnames (struct dwarf_section *section,
|
display_debug_pubnames (struct dwarf_section *section,
|
||||||
void *file ATTRIBUTE_UNUSED)
|
void *file ATTRIBUTE_UNUSED)
|
||||||
@ -2297,6 +2320,10 @@ display_debug_pubnames (struct dwarf_section *section,
|
|||||||
unsigned char *start = section->start;
|
unsigned char *start = section->start;
|
||||||
unsigned char *end = start + section->size;
|
unsigned char *end = start + section->size;
|
||||||
|
|
||||||
|
/* It does not matter if this load fails,
|
||||||
|
we test for that later on. */
|
||||||
|
load_debug_info (file);
|
||||||
|
|
||||||
printf (_("Contents of the %s section:\n\n"), section->name);
|
printf (_("Contents of the %s section:\n\n"), section->name);
|
||||||
|
|
||||||
while (start < end)
|
while (start < end)
|
||||||
@ -2324,8 +2351,16 @@ display_debug_pubnames (struct dwarf_section *section,
|
|||||||
|
|
||||||
pubnames.pn_version = byte_get (data, 2);
|
pubnames.pn_version = byte_get (data, 2);
|
||||||
data += 2;
|
data += 2;
|
||||||
|
|
||||||
pubnames.pn_offset = byte_get (data, offset_size);
|
pubnames.pn_offset = byte_get (data, offset_size);
|
||||||
data += offset_size;
|
data += offset_size;
|
||||||
|
|
||||||
|
if (num_debug_info_entries != DEBUG_INFO_UNAVAILABLE
|
||||||
|
&& num_debug_info_entries > 0
|
||||||
|
&& find_debug_info_for_offset (pubnames.pn_offset) == NULL)
|
||||||
|
warn (_(".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"),
|
||||||
|
pubnames.pn_offset, section->name);
|
||||||
|
|
||||||
pubnames.pn_size = byte_get (data, offset_size);
|
pubnames.pn_size = byte_get (data, offset_size);
|
||||||
data += offset_size;
|
data += offset_size;
|
||||||
|
|
||||||
@ -2348,7 +2383,7 @@ display_debug_pubnames (struct dwarf_section *section,
|
|||||||
pubnames.pn_length);
|
pubnames.pn_length);
|
||||||
printf (_(" Version: %d\n"),
|
printf (_(" Version: %d\n"),
|
||||||
pubnames.pn_version);
|
pubnames.pn_version);
|
||||||
printf (_(" Offset into .debug_info section: %ld\n"),
|
printf (_(" Offset into .debug_info section: 0x%lx\n"),
|
||||||
pubnames.pn_offset);
|
pubnames.pn_offset);
|
||||||
printf (_(" Size of area in .debug_info section: %ld\n"),
|
printf (_(" Size of area in .debug_info section: %ld\n"),
|
||||||
pubnames.pn_size);
|
pubnames.pn_size);
|
||||||
@ -2770,6 +2805,10 @@ display_debug_aranges (struct dwarf_section *section,
|
|||||||
|
|
||||||
printf (_("The section %s contains:\n\n"), section->name);
|
printf (_("The section %s contains:\n\n"), section->name);
|
||||||
|
|
||||||
|
/* It does not matter if this load fails,
|
||||||
|
we test for that later on. */
|
||||||
|
load_debug_info (file);
|
||||||
|
|
||||||
while (start < end)
|
while (start < end)
|
||||||
{
|
{
|
||||||
unsigned char *hdrptr;
|
unsigned char *hdrptr;
|
||||||
@ -2806,6 +2845,12 @@ display_debug_aranges (struct dwarf_section *section,
|
|||||||
arange.ar_info_offset = byte_get (hdrptr, offset_size);
|
arange.ar_info_offset = byte_get (hdrptr, offset_size);
|
||||||
hdrptr += offset_size;
|
hdrptr += offset_size;
|
||||||
|
|
||||||
|
if (num_debug_info_entries != DEBUG_INFO_UNAVAILABLE
|
||||||
|
&& num_debug_info_entries > 0
|
||||||
|
&& find_debug_info_for_offset (arange.ar_info_offset) == NULL)
|
||||||
|
warn (_(".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"),
|
||||||
|
arange.ar_info_offset, section->name);
|
||||||
|
|
||||||
arange.ar_pointer_size = byte_get (hdrptr, 1);
|
arange.ar_pointer_size = byte_get (hdrptr, 1);
|
||||||
hdrptr += 1;
|
hdrptr += 1;
|
||||||
|
|
||||||
@ -2820,7 +2865,7 @@ display_debug_aranges (struct dwarf_section *section,
|
|||||||
|
|
||||||
printf (_(" Length: %ld\n"), arange.ar_length);
|
printf (_(" Length: %ld\n"), arange.ar_length);
|
||||||
printf (_(" Version: %d\n"), arange.ar_version);
|
printf (_(" Version: %d\n"), arange.ar_version);
|
||||||
printf (_(" Offset into .debug_info: %lx\n"), arange.ar_info_offset);
|
printf (_(" Offset into .debug_info: 0x%lx\n"), arange.ar_info_offset);
|
||||||
printf (_(" Pointer Size: %d\n"), arange.ar_pointer_size);
|
printf (_(" Pointer Size: %d\n"), arange.ar_pointer_size);
|
||||||
printf (_(" Segment Size: %d\n"), arange.ar_segment_size);
|
printf (_(" Segment Size: %d\n"), arange.ar_segment_size);
|
||||||
|
|
||||||
|
@ -502,12 +502,21 @@ print_vma (bfd_vma vma, char *buf, bfd_boolean unsignedp, bfd_boolean hexp)
|
|||||||
#if BFD_HOST_64BIT_LONG_LONG
|
#if BFD_HOST_64BIT_LONG_LONG
|
||||||
else if (sizeof (vma) <= sizeof (unsigned long long))
|
else if (sizeof (vma) <= sizeof (unsigned long long))
|
||||||
{
|
{
|
||||||
|
#ifndef __MSVCRT__
|
||||||
if (hexp)
|
if (hexp)
|
||||||
sprintf (buf, "0x%llx", (unsigned long long) vma);
|
sprintf (buf, "0x%llx", (unsigned long long) vma);
|
||||||
else if (unsignedp)
|
else if (unsignedp)
|
||||||
sprintf (buf, "%llu", (unsigned long long) vma);
|
sprintf (buf, "%llu", (unsigned long long) vma);
|
||||||
else
|
else
|
||||||
sprintf (buf, "%lld", (long long) vma);
|
sprintf (buf, "%lld", (long long) vma);
|
||||||
|
#else
|
||||||
|
if (hexp)
|
||||||
|
sprintf (buf, "0x%I64x", (unsigned long long) vma);
|
||||||
|
else if (unsignedp)
|
||||||
|
sprintf (buf, "%I64u", (unsigned long long) vma);
|
||||||
|
else
|
||||||
|
sprintf (buf, "%I64d", (long long) vma);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
@ -1942,8 +1951,6 @@ tg_start_compilation_unit (void * p, const char *filename ATTRIBUTE_UNUSED)
|
|||||||
{
|
{
|
||||||
struct pr_handle *info = (struct pr_handle *) p;
|
struct pr_handle *info = (struct pr_handle *) p;
|
||||||
|
|
||||||
fprintf (stderr, "New compilation unit: %s\n", filename);
|
|
||||||
|
|
||||||
free (info->filename);
|
free (info->filename);
|
||||||
/* Should it be relative? best way to do it here?. */
|
/* Should it be relative? best way to do it here?. */
|
||||||
info->filename = strdup (filename);
|
info->filename = strdup (filename);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* readelf.c -- display contents of an ELF format file
|
/* readelf.c -- display contents of an ELF format file
|
||||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
|
||||||
Free Software Foundation, Inc.
|
2008 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Originally developed by Eric Youngdale <eric@andante.jic.com>
|
Originally developed by Eric Youngdale <eric@andante.jic.com>
|
||||||
Modifications by Nick Clifton <nickc@redhat.com>
|
Modifications by Nick Clifton <nickc@redhat.com>
|
||||||
@ -493,7 +493,11 @@ print_vma (bfd_vma vma, print_mode mode)
|
|||||||
#if BFD_HOST_64BIT_LONG
|
#if BFD_HOST_64BIT_LONG
|
||||||
return nc + printf ("%lx", vma);
|
return nc + printf ("%lx", vma);
|
||||||
#elif BFD_HOST_64BIT_LONG_LONG
|
#elif BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
return nc + printf ("%llx", vma);
|
return nc + printf ("%llx", vma);
|
||||||
|
#else
|
||||||
|
return nc + printf ("%I64x", vma);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
return nc + print_hex_vma (vma);
|
return nc + print_hex_vma (vma);
|
||||||
#endif
|
#endif
|
||||||
@ -502,7 +506,11 @@ print_vma (bfd_vma vma, print_mode mode)
|
|||||||
#if BFD_HOST_64BIT_LONG
|
#if BFD_HOST_64BIT_LONG
|
||||||
return printf ("%ld", vma);
|
return printf ("%ld", vma);
|
||||||
#elif BFD_HOST_64BIT_LONG_LONG
|
#elif BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
return printf ("%lld", vma);
|
return printf ("%lld", vma);
|
||||||
|
#else
|
||||||
|
return printf ("%I64d", vma);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
return print_dec_vma (vma, 1);
|
return print_dec_vma (vma, 1);
|
||||||
#endif
|
#endif
|
||||||
@ -514,10 +522,17 @@ print_vma (bfd_vma vma, print_mode mode)
|
|||||||
else
|
else
|
||||||
return printf ("%#lx", vma);
|
return printf ("%#lx", vma);
|
||||||
#elif BFD_HOST_64BIT_LONG_LONG
|
#elif BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
if (vma <= 99999)
|
if (vma <= 99999)
|
||||||
return printf ("%5lld", vma);
|
return printf ("%5lld", vma);
|
||||||
else
|
else
|
||||||
return printf ("%#llx", vma);
|
return printf ("%#llx", vma);
|
||||||
|
#else
|
||||||
|
if (vma <= 99999)
|
||||||
|
return printf ("%5I64d", vma);
|
||||||
|
else
|
||||||
|
return printf ("%#I64x", vma);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
if (vma <= 99999)
|
if (vma <= 99999)
|
||||||
return printf ("%5ld", _bfd_int64_low (vma));
|
return printf ("%5ld", _bfd_int64_low (vma));
|
||||||
@ -529,7 +544,11 @@ print_vma (bfd_vma vma, print_mode mode)
|
|||||||
#if BFD_HOST_64BIT_LONG
|
#if BFD_HOST_64BIT_LONG
|
||||||
return printf ("%lu", vma);
|
return printf ("%lu", vma);
|
||||||
#elif BFD_HOST_64BIT_LONG_LONG
|
#elif BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
return printf ("%llu", vma);
|
return printf ("%llu", vma);
|
||||||
|
#else
|
||||||
|
return printf ("%I64u", vma);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
return print_dec_vma (vma, 0);
|
return print_dec_vma (vma, 0);
|
||||||
#endif
|
#endif
|
||||||
@ -990,10 +1009,17 @@ dump_relocations (FILE *file,
|
|||||||
: "%12.12lx %12.12lx ",
|
: "%12.12lx %12.12lx ",
|
||||||
offset, info);
|
offset, info);
|
||||||
#elif BFD_HOST_64BIT_LONG_LONG
|
#elif BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
printf (do_wide
|
printf (do_wide
|
||||||
? "%16.16llx %16.16llx "
|
? "%16.16llx %16.16llx "
|
||||||
: "%12.12llx %12.12llx ",
|
: "%12.12llx %12.12llx ",
|
||||||
offset, info);
|
offset, info);
|
||||||
|
#else
|
||||||
|
printf (do_wide
|
||||||
|
? "%16.16I64x %16.16I64x "
|
||||||
|
: "%12.12I64x %12.12I64x ",
|
||||||
|
offset, info);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
printf (do_wide
|
printf (do_wide
|
||||||
? "%8.8lx%8.8lx %8.8lx%8.8lx "
|
? "%8.8lx%8.8lx %8.8lx%8.8lx "
|
||||||
@ -7820,7 +7846,11 @@ dump_section_as_strings (Elf_Internal_Shdr *section, FILE *file)
|
|||||||
|
|
||||||
if (data < end)
|
if (data < end)
|
||||||
{
|
{
|
||||||
|
#ifndef __MSVCRT__
|
||||||
printf (" [%6tx] %s\n", data - start, data);
|
printf (" [%6tx] %s\n", data - start, data);
|
||||||
|
#else
|
||||||
|
printf (" [%6Ix] %s\n", (size_t) (data - start), data);
|
||||||
|
#endif
|
||||||
data += strlen (data);
|
data += strlen (data);
|
||||||
some_strings_shown = TRUE;
|
some_strings_shown = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* strings -- print the strings of printable characters in files
|
/* strings -- print the strings of printable characters in files
|
||||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||||
2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -593,7 +593,13 @@ print_strings (const char *filename, FILE *stream, file_off address,
|
|||||||
case 8:
|
case 8:
|
||||||
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
|
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
|
||||||
if (sizeof (start) > sizeof (long))
|
if (sizeof (start) > sizeof (long))
|
||||||
printf ("%7llo ", (unsigned long long) start);
|
{
|
||||||
|
#ifndef __MSVCRT__
|
||||||
|
printf ("%7llo ", (unsigned long long) start);
|
||||||
|
#else
|
||||||
|
printf ("%7I64o ", (unsigned long long) start);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
else
|
else
|
||||||
#elif !BFD_HOST_64BIT_LONG
|
#elif !BFD_HOST_64BIT_LONG
|
||||||
if (start != (unsigned long) start)
|
if (start != (unsigned long) start)
|
||||||
@ -606,7 +612,13 @@ print_strings (const char *filename, FILE *stream, file_off address,
|
|||||||
case 10:
|
case 10:
|
||||||
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
|
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
|
||||||
if (sizeof (start) > sizeof (long))
|
if (sizeof (start) > sizeof (long))
|
||||||
printf ("%7lld ", (unsigned long long) start);
|
{
|
||||||
|
#ifndef __MSVCRT__
|
||||||
|
printf ("%7lld ", (unsigned long long) start);
|
||||||
|
#else
|
||||||
|
printf ("%7I64d ", (unsigned long long) start);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
else
|
else
|
||||||
#elif !BFD_HOST_64BIT_LONG
|
#elif !BFD_HOST_64BIT_LONG
|
||||||
if (start != (unsigned long) start)
|
if (start != (unsigned long) start)
|
||||||
@ -619,7 +631,13 @@ print_strings (const char *filename, FILE *stream, file_off address,
|
|||||||
case 16:
|
case 16:
|
||||||
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
|
#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
|
||||||
if (sizeof (start) > sizeof (long))
|
if (sizeof (start) > sizeof (long))
|
||||||
printf ("%7llx ", (unsigned long long) start);
|
{
|
||||||
|
#ifndef __MSVCRT__
|
||||||
|
printf ("%7llx ", (unsigned long long) start);
|
||||||
|
#else
|
||||||
|
printf ("%7I64x ", (unsigned long long) start);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
else
|
else
|
||||||
#elif !BFD_HOST_64BIT_LONG
|
#elif !BFD_HOST_64BIT_LONG
|
||||||
if (start != (unsigned long) start)
|
if (start != (unsigned long) start)
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2008-01-25 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
|
* read.c: (emit_expr): Correct for mingw use of printf size
|
||||||
|
specifier.
|
||||||
|
|
||||||
2008-01-24 Bob Wilson <bob.wilson@acm.org>
|
2008-01-24 Bob Wilson <bob.wilson@acm.org>
|
||||||
|
|
||||||
* doc/c-xtensa.texi (Xtensa Syntax): Clarify handling of opcodes that
|
* doc/c-xtensa.texi (Xtensa Syntax): Clarify handling of opcodes that
|
||||||
|
@ -4112,8 +4112,13 @@ emit_expr (expressionS *exp, unsigned int nbytes)
|
|||||||
|| (get & hibit) == 0))
|
|| (get & hibit) == 0))
|
||||||
{ /* Leading bits contain both 0s & 1s. */
|
{ /* Leading bits contain both 0s & 1s. */
|
||||||
#if defined (BFD64) && BFD_HOST_64BIT_LONG_LONG
|
#if defined (BFD64) && BFD_HOST_64BIT_LONG_LONG
|
||||||
|
#ifndef __MSVCRT__
|
||||||
as_warn (_("value 0x%llx truncated to 0x%llx"),
|
as_warn (_("value 0x%llx truncated to 0x%llx"),
|
||||||
(unsigned long long) get, (unsigned long long) use);
|
(unsigned long long) get, (unsigned long long) use);
|
||||||
|
#else
|
||||||
|
as_warn (_("value 0x%I64x truncated to 0x%I64x"),
|
||||||
|
(unsigned long long) get, (unsigned long long) use);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
as_warn (_("value 0x%lx truncated to 0x%lx"),
|
as_warn (_("value 0x%lx truncated to 0x%lx"),
|
||||||
(unsigned long) get, (unsigned long) use);
|
(unsigned long) get, (unsigned long) use);
|
||||||
|
Loading…
Reference in New Issue
Block a user