This is a backport of this patch from 6.5 to 4.9: https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=8937b94d1a643fd9760714642296d034a45254a8 diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc index 69c9c10..8e53673 100644 --- a/libsanitizer/sanitizer_common/sanitizer_linux.cc +++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc @@ -599,8 +599,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { return internal_syscall(__NR_prctl, option, arg2, arg3, arg4, arg5); } -uptr internal_sigaltstack(const struct sigaltstack *ss, - struct sigaltstack *oss) { +uptr internal_sigaltstack(const void *ss, void *oss) { return internal_syscall(__NR_sigaltstack, (uptr)ss, (uptr)oss); } diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h index 6422df1..8a8e526 100644 --- a/libsanitizer/sanitizer_common/sanitizer_linux.h +++ b/libsanitizer/sanitizer_common/sanitizer_linux.h @@ -18,7 +18,6 @@ #include "sanitizer_platform_limits_posix.h" struct link_map; // Opaque type returned by dlopen(). -struct sigaltstack; namespace __sanitizer { // Dirent structure for getdents(). Note that this structure is different from @@ -28,8 +27,7 @@ struct linux_dirent; // Syscall wrappers. uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5); -uptr internal_sigaltstack(const struct sigaltstack* ss, - struct sigaltstack* oss); +uptr internal_sigaltstack(const void *ss, void *oss); uptr internal_sigaction(int signum, const __sanitizer_kernel_sigaction_t *act, __sanitizer_kernel_sigaction_t *oldact); uptr internal_sigprocmask(int how, __sanitizer_kernel_sigset_t *set, diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc index 6ee63ec..50c21a3 100644 --- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc +++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc @@ -238,7 +238,7 @@ static int TracerThread(void* argument) { // Alternate stack for signal handling. InternalScopedBuffer handler_stack_memory(kHandlerStackSize); - struct sigaltstack handler_stack; + stack_t handler_stack; internal_memset(&handler_stack, 0, sizeof(handler_stack)); handler_stack.ss_sp = handler_stack_memory.data(); handler_stack.ss_size = kHandlerStackSize; diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc index fe69430..49f5270 100644 --- a/libsanitizer/tsan/tsan_platform_linux.cc +++ b/libsanitizer/tsan/tsan_platform_linux.cc @@ -351,7 +351,7 @@ bool IsGlobalVar(uptr addr) { // closes within glibc. The code is a pure hack. int ExtractResolvFDs(void *state, int *fds, int nfd) { int cnt = 0; - __res_state *statp = (__res_state*)state; + struct __res_state *statp = (struct __res_state*)state; for (int i = 0; i < MAXNS && cnt < nfd; i++) { if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) fds[cnt++] = statp->_u._ext.nssocks[i]; etc/snippets/tempel/scheme-mode (origin): Unquote ‘git-fetch’, ‘svn-fetch’, ‘hg-fetch’, ‘cvs-fetch’, and ‘bzr-fetch’. Use ‘otherwise’ instead of ‘t’. Liliana Marie Prikler 2023-04-19snippets: tempel: Simplify git-commit-mode detection....* etc/snippets/tempel/text-mode: Simplify git-commit-mode detection. Signed-off-by: Andrew Tropin <andrew@trop.in> Nicolas Graves 2023-03-05etc: Default to variables in tempel's git-reference... et al....Since we encourage using variables rather than magic hashes in the commit fields, e.g. (commit version) and (commit commit), the default for tempel to use quoted strings is rather off. Thus, let the placeholder reflect actual usage. * etc/snippets/tempel/scheme-mode (git-reference...)[commit]: Use field name as placeholder and don't quote value. (svn-reference..., bzr-reference...)[revision]: Likewise. (hg-reference...)[changeset]: Likewise. Liliana Marie Prikler 2022-12-27snippets: Remove unwanted git-commit-mode invocation....We only need to check if git-commit-mode is t, not enable it in all text-mode buffers. * etc/snippets/tempel/text-mode: Remove unwanted git-commit-mode invocation. Andrew Tropin