Change pointers from char * to unsigned char *

GCC 4.2 complaints:

cc1: warnings being treated as errors
binutils/readelf.c:12057: warning: dereferencing type-punned pointer will break strict-aliasing rules

This patch silences this GCC warning.

	* readelf.c (dump_section_as_strings): Change pointers from
	char * to unsigned char *.
This commit is contained in:
H.J. Lu 2015-05-15 10:29:03 -07:00
parent 5db04b0965
commit fd8008d83c
2 changed files with 15 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (dump_section_as_strings): Change pointers from
char * to unsigned char *.
2015-05-15 H.J. Lu <hongjiu.lu@intel.com> 2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutis/18386 PR binutis/18386

View file

@ -12004,13 +12004,14 @@ dump_section_as_strings (Elf_Internal_Shdr * section, FILE * file)
{ {
Elf_Internal_Shdr * relsec; Elf_Internal_Shdr * relsec;
bfd_size_type num_bytes; bfd_size_type num_bytes;
char * data; unsigned char * data;
char * end; unsigned char * end;
char * real_start; unsigned char * real_start;
char * start; unsigned char * start;
bfd_boolean some_strings_shown; bfd_boolean some_strings_shown;
real_start = start = get_section_contents (section, file); real_start = start = (unsigned char *) get_section_contents (section,
file);
if (start == NULL) if (start == NULL)
return; return;
num_bytes = section->sh_size; num_bytes = section->sh_size;
@ -12054,11 +12055,11 @@ dump_section_as_strings (Elf_Internal_Shdr * section, FILE * file)
} }
if (uncompressed_size if (uncompressed_size
&& uncompress_section_contents ((unsigned char **) & start, && uncompress_section_contents (& start,
uncompressed_size, & new_size)) uncompressed_size, & new_size))
num_bytes = new_size; num_bytes = new_size;
} }
/* If the section being dumped has relocations against it the user might /* If the section being dumped has relocations against it the user might
be expecting these relocations to have been applied. Check for this be expecting these relocations to have been applied. Check for this
case and issue a warning message in order to avoid confusion. case and issue a warning message in order to avoid confusion.
@ -12102,9 +12103,9 @@ dump_section_as_strings (Elf_Internal_Shdr * section, FILE * file)
#endif #endif
if (maxlen > 0) if (maxlen > 0)
{ {
print_symbol ((int) maxlen, data); print_symbol ((int) maxlen, (const char *) data);
putchar ('\n'); putchar ('\n');
data += strnlen (data, maxlen); data += strnlen ((const char *) data, maxlen);
} }
else else
{ {