This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Change pointers from char * to unsigned char *
- From: H.J.Lu <hjl at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 15 May 2015 17:31:40 -0000
- Subject: [binutils-gdb] Change pointers from char * to unsigned char *
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fd8008d83ce379a8d3f3bb9c3b1a723e16c401d4
commit fd8008d83ce379a8d3f3bb9c3b1a723e16c401d4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri May 15 10:29:03 2015 -0700
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 *.
Diff:
---
binutils/ChangeLog | 5 +++++
binutils/readelf.c | 19 ++++++++++---------
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 2328f6e..4813a89 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,10 @@
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>
+
PR binutis/18386
* doc/binutils.texi: Document -Mamd64 and -Mintel64.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 4bb31eb..6369aa9 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -12004,13 +12004,14 @@ dump_section_as_strings (Elf_Internal_Shdr * section, FILE * file)
{
Elf_Internal_Shdr * relsec;
bfd_size_type num_bytes;
- char * data;
- char * end;
- char * real_start;
- char * start;
+ unsigned char * data;
+ unsigned char * end;
+ unsigned char * real_start;
+ unsigned char * start;
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)
return;
num_bytes = section->sh_size;
@@ -12054,11 +12055,11 @@ dump_section_as_strings (Elf_Internal_Shdr * section, FILE * file)
}
if (uncompressed_size
- && uncompress_section_contents ((unsigned char **) & start,
+ && uncompress_section_contents (& start,
uncompressed_size, & new_size))
num_bytes = new_size;
}
-
+
/* If the section being dumped has relocations against it the user might
be expecting these relocations to have been applied. Check for this
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
if (maxlen > 0)
{
- print_symbol ((int) maxlen, data);
+ print_symbol ((int) maxlen, (const char *) data);
putchar ('\n');
- data += strnlen (data, maxlen);
+ data += strnlen ((const char *) data, maxlen);
}
else
{