This fixes PR22248 on sparc.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Looks reasonable. OK, with requested comment addition.
(BTW: the current interface in llvm for overriding the behavior of SSP seems unnecessarily confusing, I hope that gets cleaned up at some point.)
lib/Target/Sparc/SparcInstrInfo.cpp | ||
---|---|---|
500 | Is there some ABI documentation that mentions these offsets? Or is this simply offsetof(tcbhead_t, stack_guard) from sysdeps/sparc/nptl/tls.h in glibc? Can you add a comment here, whatever the source? |
Yeah, there are several, and it's a mess. The LOAD_STACK_GUARD is the most confusing so far, with the justification that it avoids spilling the correct guard onto the stack, thus nullifying the protection...
lib/Target/Sparc/SparcInstrInfo.cpp | ||
---|---|---|
500 | I'm afraid not, it's just offsetof in tcbhead_t. I copied these from gcc. I'll add a comment. |
Is there some ABI documentation that mentions these offsets? Or is this simply offsetof(tcbhead_t, stack_guard) from sysdeps/sparc/nptl/tls.h in glibc?
Can you add a comment here, whatever the source?