Refine longjmp key management. For Linux, re-implement key retrieval in
C (instead of assembly). Removal of InitializeGuardPtr and a final
round of cleanups will be done in the next commit.
Details
Details
- Reviewers
dvyukov - Commits
- rGba9eb4831842: Reland "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.
rCRT365560: Reland "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.
rL365560: Reland "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.
rG521f77e6351f: [TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8
rCRT365513: [TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8
rL365513: [TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 34211 Build 34210: arc lint + arc unit
Event Timeline
Comment Actions
Our bots started failing with the following build error after this change landed:
/b/s/w/ir/k/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc:425:3: error: unknown type name 'jump_buf'; did you mean 'jmp_buf'? jump_buf env; ^~~~~~~~ jmp_buf /b/s/w/ir/k/cipd/linux-arm64/usr/include/setjmp.h:48:30: note: 'jmp_buf' declared here typedef struct __jmp_buf_tag jmp_buf[1]; ^ /b/s/w/ir/k/llvm-project/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc:426:3: error: use of undeclared identifier 'REAL' REAL(setjmp)(env); ^ 2 errors generated.
Is it possible to fix the issue or revert the change?