mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
libbacktrace: avoid -Wpointer-arith errors
Based on patch from Kirill Müller. * configure.ac (ACX_PROG_CC_WARNING_OPTS): Add -Wpointer-arith. * pecoff.c (coff_add): Cast void pointers. * xcoff.c (xcoff_add): Likewise. * configure: Regenerate.
This commit is contained in:
parent
ecb6153e3b
commit
3a51aaf5f4
3
libbacktrace/configure
vendored
3
libbacktrace/configure
vendored
@ -12385,7 +12385,8 @@ save_CFLAGS="$CFLAGS"
|
|||||||
for real_option in -W -Wall -Wwrite-strings -Wstrict-prototypes \
|
for real_option in -W -Wall -Wwrite-strings -Wstrict-prototypes \
|
||||||
-Wmissing-prototypes -Wold-style-definition \
|
-Wmissing-prototypes -Wold-style-definition \
|
||||||
-Wmissing-format-attribute -Wcast-qual \
|
-Wmissing-format-attribute -Wcast-qual \
|
||||||
-Wno-attributes -Wno-unknown-attributes; do
|
-Wno-attributes -Wno-unknown-attributes \
|
||||||
|
-Wpointer-arith; do
|
||||||
# Do the check with the no- prefix removed since gcc silently
|
# Do the check with the no- prefix removed since gcc silently
|
||||||
# accepts any -Wno-* option on purpose
|
# accepts any -Wno-* option on purpose
|
||||||
case $real_option in
|
case $real_option in
|
||||||
|
@ -145,7 +145,8 @@ AC_SUBST(EXTRA_FLAGS)
|
|||||||
ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
|
ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
|
||||||
-Wmissing-prototypes -Wold-style-definition \
|
-Wmissing-prototypes -Wold-style-definition \
|
||||||
-Wmissing-format-attribute -Wcast-qual \
|
-Wmissing-format-attribute -Wcast-qual \
|
||||||
-Wno-attributes -Wno-unknown-attributes],
|
-Wno-attributes -Wno-unknown-attributes \
|
||||||
|
-Wpointer-arith],
|
||||||
[WARN_FLAGS])
|
[WARN_FLAGS])
|
||||||
|
|
||||||
AC_ARG_ENABLE([werror],
|
AC_ARG_ENABLE([werror],
|
||||||
|
@ -704,7 +704,7 @@ coff_add (struct backtrace_state *state, int descriptor,
|
|||||||
magic_ok = memcmp (magic, "PE\0", 4) == 0;
|
magic_ok = memcmp (magic, "PE\0", 4) == 0;
|
||||||
fhdr_off += 4;
|
fhdr_off += 4;
|
||||||
|
|
||||||
memcpy (&fhdr, fhdr_view.data + 4, sizeof fhdr);
|
memcpy (&fhdr, (const unsigned char *) fhdr_view.data + 4, sizeof fhdr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -738,7 +738,7 @@ coff_add (struct backtrace_state *state, int descriptor,
|
|||||||
sects_view_valid = 1;
|
sects_view_valid = 1;
|
||||||
opt_hdr = (const b_coff_optional_header *) sects_view.data;
|
opt_hdr = (const b_coff_optional_header *) sects_view.data;
|
||||||
sects = (const b_coff_section_header *)
|
sects = (const b_coff_section_header *)
|
||||||
(sects_view.data + fhdr.size_of_optional_header);
|
((const unsigned char *) sects_view.data + fhdr.size_of_optional_header);
|
||||||
|
|
||||||
is_64 = 0;
|
is_64 = 0;
|
||||||
memset (&image_base, 0, sizeof image_base);
|
memset (&image_base, 0, sizeof image_base);
|
||||||
@ -781,7 +781,8 @@ coff_add (struct backtrace_state *state, int descriptor,
|
|||||||
goto fail;
|
goto fail;
|
||||||
syms_view_valid = 1;
|
syms_view_valid = 1;
|
||||||
|
|
||||||
str_size = coff_read4 (syms_view.data + syms_size);
|
str_size = coff_read4 ((const unsigned char *) syms_view.data
|
||||||
|
+ syms_size);
|
||||||
|
|
||||||
str_off = syms_off + syms_size;
|
str_off = syms_off + syms_size;
|
||||||
|
|
||||||
|
@ -1203,7 +1203,9 @@ xcoff_add (struct backtrace_state *state, int descriptor, off_t offset,
|
|||||||
goto fail;
|
goto fail;
|
||||||
syms_view_valid = 1;
|
syms_view_valid = 1;
|
||||||
|
|
||||||
memcpy (&str_size, syms_view.data + syms_size, 4);
|
memcpy (&str_size,
|
||||||
|
(const unsigned char *) syms_view.data + syms_size,
|
||||||
|
4);
|
||||||
|
|
||||||
str_off = fhdr.f_symptr + syms_size;
|
str_off = fhdr.f_symptr + syms_size;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user