Convert 'L' to 'l' when setting wide_width to 1

When setting wide_width to 1, convert 'L' to 'l'.  Otherwise, %Lx/%Lu/%Ld
will be passed to fprintf which will treat the argument as long long.

	* bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width
	to 1.
This commit is contained in:
H.J. Lu 2017-07-06 06:52:13 -07:00
parent 4b617f5235
commit a0b7b10523
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2017-07-06 H.J. Lu <hongjiu.lu@intel.com>
* bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width
to 1.
2017-07-05 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (line_info_add_include_dir_stub): Replace time with

View File

@ -727,7 +727,10 @@ _doprnt (FILE *stream, const char *format, va_list ap)
either long long or long. */
if ((BFD_ARCH_SIZE < 64 || BFD_HOST_64BIT_LONG)
&& sptr[-2] == 'L')
wide_width = 1;
{
wide_width = 1;
sptr[-2] = 'l';
}
switch (wide_width)
{