Re: [PATCH] libsanitizer: cherry-pick commit f52e365092aa from upstream
On Thu, May 5, 2022 at 11:28 AM Martin Liška wrote: > > On 5/5/22 18:21, H.J. Lu wrote: > > On Thu, May 5, 2022 at 4:24 AM Martin Liška wrote: > >> > >> On 5/5/22 01:07, H.J. Lu wrote: > >>> On Wed, May 4, 2022 at 1:59 AM Martin Liška wrote: > > Hello. > > I'm going to do merge from upstream. > > Patch can bootstrap on x86_64-linux-gnu and survives regression > tests. I've also tested on ppc64le-linux-gnu and verified the ABI. > > The only real change is a small change in > gcc/testsuite/c-c++-common/asan/alloca_loop_unpoisoning.c where we > need --param=asan-use-after-return=0. > > I'm going to push the patches. > >>> > >>> Hi, > >>> > >>> I am checking in this patch to cherry-pick > >>> > >>> f52e365092aa [sanitizer] Use newfstatat for x32 > >>> > >>> to restore x32 build. > >>> > >> > >> I'm going to do one more merge from upstream > >> (75f9e83ace52773af65dcebca543005ec8a2705d) as we want to include Tobias's > >> revision 6f095babc2b7d564168c7afc5bf6afb2188fd6b4 and my > >> revision f1b9245199f3457a4d06d32d1bc6e44573c166e3. > > > > I am testing a patch for > > > > https://github.com/llvm/llvm-project/issues/55288 I submitted: https://reviews.llvm.org/D125025 > > to fix: > > > > https://gcc.gnu.org/pipermail/gcc-regression/2022-May/076571.html > > Interesting. How did you run these tests that the error shows up? Just normal GCC bootstrap and check with x32 enabled. > > > > The same bug is also in GCC 12. But somehow, it doesn't show up in > > GCC tests. > > So please backport it once it's merged. > Will do after GCC 12 is released. Thanks. -- H.J.
Re: [PATCH] libsanitizer: cherry-pick commit f52e365092aa from upstream
On 5/5/22 18:21, H.J. Lu wrote: > On Thu, May 5, 2022 at 4:24 AM Martin Liška wrote: >> >> On 5/5/22 01:07, H.J. Lu wrote: >>> On Wed, May 4, 2022 at 1:59 AM Martin Liška wrote: Hello. I'm going to do merge from upstream. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I've also tested on ppc64le-linux-gnu and verified the ABI. The only real change is a small change in gcc/testsuite/c-c++-common/asan/alloca_loop_unpoisoning.c where we need --param=asan-use-after-return=0. I'm going to push the patches. >>> >>> Hi, >>> >>> I am checking in this patch to cherry-pick >>> >>> f52e365092aa [sanitizer] Use newfstatat for x32 >>> >>> to restore x32 build. >>> >> >> I'm going to do one more merge from upstream >> (75f9e83ace52773af65dcebca543005ec8a2705d) as we want to include Tobias's >> revision 6f095babc2b7d564168c7afc5bf6afb2188fd6b4 and my >> revision f1b9245199f3457a4d06d32d1bc6e44573c166e3. > > I am testing a patch for > > https://github.com/llvm/llvm-project/issues/55288 > > to fix: > > https://gcc.gnu.org/pipermail/gcc-regression/2022-May/076571.html Interesting. How did you run these tests that the error shows up? > > The same bug is also in GCC 12. But somehow, it doesn't show up in > GCC tests. So please backport it once it's merged. Martin
Re: [PATCH] libsanitizer: cherry-pick commit f52e365092aa from upstream
On Thu, May 5, 2022 at 4:24 AM Martin Liška wrote: > > On 5/5/22 01:07, H.J. Lu wrote: > > On Wed, May 4, 2022 at 1:59 AM Martin Liška wrote: > >> > >> Hello. > >> > >> I'm going to do merge from upstream. > >> > >> Patch can bootstrap on x86_64-linux-gnu and survives regression > >> tests. I've also tested on ppc64le-linux-gnu and verified the ABI. > >> > >> The only real change is a small change in > >> gcc/testsuite/c-c++-common/asan/alloca_loop_unpoisoning.c where we > >> need --param=asan-use-after-return=0. > >> > >> I'm going to push the patches. > > > > Hi, > > > > I am checking in this patch to cherry-pick > > > > f52e365092aa [sanitizer] Use newfstatat for x32 > > > > to restore x32 build. > > > > I'm going to do one more merge from upstream > (75f9e83ace52773af65dcebca543005ec8a2705d) as we want to include Tobias's > revision 6f095babc2b7d564168c7afc5bf6afb2188fd6b4 and my > revision f1b9245199f3457a4d06d32d1bc6e44573c166e3. I am testing a patch for https://github.com/llvm/llvm-project/issues/55288 to fix: https://gcc.gnu.org/pipermail/gcc-regression/2022-May/076571.html The same bug is also in GCC 12. But somehow, it doesn't show up in GCC tests. -- H.J.
Re: [PATCH] libsanitizer: cherry-pick commit f52e365092aa from upstream
On 5/5/22 01:07, H.J. Lu wrote: > On Wed, May 4, 2022 at 1:59 AM Martin Liška wrote: >> >> Hello. >> >> I'm going to do merge from upstream. >> >> Patch can bootstrap on x86_64-linux-gnu and survives regression >> tests. I've also tested on ppc64le-linux-gnu and verified the ABI. >> >> The only real change is a small change in >> gcc/testsuite/c-c++-common/asan/alloca_loop_unpoisoning.c where we >> need --param=asan-use-after-return=0. >> >> I'm going to push the patches. > > Hi, > > I am checking in this patch to cherry-pick > > f52e365092aa [sanitizer] Use newfstatat for x32 > > to restore x32 build. > I'm going to do one more merge from upstream (75f9e83ace52773af65dcebca543005ec8a2705d) as we want to include Tobias's revision 6f095babc2b7d564168c7afc5bf6afb2188fd6b4 and my revision f1b9245199f3457a4d06d32d1bc6e44573c166e3. Martin
[PATCH] libsanitizer: cherry-pick commit f52e365092aa from upstream
On Wed, May 4, 2022 at 1:59 AM Martin Liška wrote: > > Hello. > > I'm going to do merge from upstream. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I've > also tested > on ppc64le-linux-gnu and verified the ABI. > > The only real change is a small change in > gcc/testsuite/c-c++-common/asan/alloca_loop_unpoisoning.c > where we need --param=asan-use-after-return=0. > > I'm going to push the patches. Hi, I am checking in this patch to cherry-pick f52e365092aa [sanitizer] Use newfstatat for x32 to restore x32 build. -- H.J. From ae90c2d0f9bcc30af98c730f91544efa01cb897c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 4 May 2022 15:59:49 -0700 Subject: [PATCH] libsanitizer: cherry-pick commit f52e365092aa from upstream cherry-pick: f52e365092aa [sanitizer] Use newfstatat for x32 --- libsanitizer/sanitizer_common/sanitizer_linux.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cpp b/libsanitizer/sanitizer_common/sanitizer_linux.cpp index 8e144a4e9a0..e2c32d679ad 100644 --- a/libsanitizer/sanitizer_common/sanitizer_linux.cpp +++ b/libsanitizer/sanitizer_common/sanitizer_linux.cpp @@ -343,7 +343,7 @@ uptr internal_stat(const char *path, void *buf) { #if SANITIZER_FREEBSD return internal_syscall(SYSCALL(fstatat), AT_FDCWD, (uptr)path, (uptr)buf, 0); #elif SANITIZER_LINUX -# if SANITIZER_WORDSIZE == 64 +# if SANITIZER_WORDSIZE == 64 || SANITIZER_X32 return internal_syscall(SYSCALL(newfstatat), AT_FDCWD, (uptr)path, (uptr)buf, 0); # else @@ -366,7 +366,7 @@ uptr internal_lstat(const char *path, void *buf) { return internal_syscall(SYSCALL(fstatat), AT_FDCWD, (uptr)path, (uptr)buf, AT_SYMLINK_NOFOLLOW); #elif SANITIZER_LINUX -# if defined(_LP64) +# if defined(_LP64) || SANITIZER_X32 return internal_syscall(SYSCALL(newfstatat), AT_FDCWD, (uptr)path, (uptr)buf, AT_SYMLINK_NOFOLLOW); # else -- 2.35.1