New compile warning errors with gcc 8.2
All builds with this version are now failing with
FAILED: core/CMakeFiles/drdecode.dir/string.c.o
/usr/bin/cc -I/usr/local/google/home/hgreving/dynamorio/src/core/drlibc -I/usr/local/google/home/hgreving/dynamorio/src/core/arch/x86 -I/usr/local/google/home/hgreving/dynamorio/src/core/unix -I/usr/local/google/home/hgreving/dynamorio/src/core/arch -I/usr/local/google/home/hgreving/dynamorio/src/core/lib -I. -Iinclude/annotations -m32 -fno-strict-aliasing -fno-stack-protector -mpreferred-stack-boundary=2 -fvisibility=internal -std=gnu99 -g3 -fno-omit-frame-pointer -fno-builtin-strcmp -Wall -Werror -Wwrite-strings -Wno-unused-but-set-variable -DNOT_DYNAMORIO_CORE_PROPER -DSTANDALONE_DECODER -fPIC -MD -MT core/CMakeFiles/drdecode.dir/string.c.o -MF core/CMakeFiles/drdecode.dir/string.c.o.d -o core/CMakeFiles/drdecode.dir/string.c.o -c /usr/local/google/home/hgreving/dynamorio/src/core/string.c
/usr/local/google/home/hgreving/dynamorio/src/core/string.c:176:1: error: ‘__memmove_chk’ alias between functions of incompatible types ‘void *(void *, const void *, size_t, size_t)’ {aka ‘void *(void *, const
void *, unsigned int, unsigned int)’} and ‘void *(void *, const void *, size_t)’ {aka ‘void *(void *, const void *, unsigned int)’} [-Werror=attribute-alias]
__memmove_chk(void *dst, const void *src, size_t n, size_t dst_len)
^~~~~~~~~~~~~
/usr/local/google/home/hgreving/dynamorio/src/core/string.c:155:1: note: aliased declaration here
d_r_memmove(void *dst, const void *src, size_t n)
^~~~~~~~~~~
/usr/local/google/home/hgreving/dynamorio/src/core/string.c:200:1: error: ‘__strncat_chk’ alias between functions of incompatible types ‘void *(char *, const char *, size_t, size_t)’ {aka ‘void *(char *, const
char *, unsigned int, unsigned int)’} and ‘char *(char *, const char *, size_t)’ {aka ‘char *(char *, const char *, unsigned int)’} [-Werror=attribute-alias]
__strncat_chk(char *dst, const char *src, size_t n, size_t dst_len)
^~~~~~~~~~~~~
/usr/local/google/home/hgreving/dynamorio/src/core/string.c:134:1: note: aliased declaration here
d_r_strncat(char *dest, const char *src, size_t n)
^~~~~~~~~~~
/usr/local/google/home/hgreving/dynamorio/src/core/string.c:188:1: error: ‘__strncpy_chk’ alias between functions of incompatible types ‘void *(char *, const char *, size_t, size_t)’ {aka ‘void *(char *, const
char *, unsigned int, unsigned int)’} and ‘char *(char *, const char *, size_t)’ {aka ‘char *(char *, const char *, unsigned int)’} [-Werror=attribute-alias]
__strncpy_chk(char *dst, const char *src, size_t n, size_t dst_len)
^~~~~~~~~~~~~
/usr/local/google/home/hgreving/dynamorio/src/core/string.c:121:1: note: aliased declaration here
d_r_strncpy(char *dst, const char *src, size_t n)
^~~~~~~~~~~
cc1: all warnings being treated as errors
[24/1227] Building C object core/CMakeFiles/dynamorio_static_nohide.dir/fragment.c.o
ninja: build stopped: subcommand failed.
hgreving@hendrik-desktop:~/dynamorio/build$ gcc --version
gcc (Debian 8.2.0-14+build1) 8.2.0
I have not tested whether this affect only the gcc version I am working with or any >= 8.2.