MS link accepts *.obj with ehcont bit set only. LLD should match this
behavoir too.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
lld/COFF/Writer.cpp | ||
---|---|---|
1735–1739 | Please update this comment to avoid discussing EH continuations. My understanding is that if you compile with /guard:ehcont- and link with /guard:ehcont, then attempts to catch exceptions in the unprotected object files will crash the program with control flow violations, but correct me if I am wrong. There is no attempt to conservatively handle objects that catch exceptions but not /guard:ehcont, they must all be recompiled with EH continuations, correct? |
Update comments.
lld/COFF/Writer.cpp | ||
---|---|---|
1735–1739 | Good catch! This patch is to fix a problem as a side effect of D150645. User expected both cf and ehcont bits are set in the obj files and link with both. However, we only have ehcont present due to the bug. |
Please update this comment to avoid discussing EH continuations.
My understanding is that if you compile with /guard:ehcont- and link with /guard:ehcont, then attempts to catch exceptions in the unprotected object files will crash the program with control flow violations, but correct me if I am wrong. There is no attempt to conservatively handle objects that catch exceptions but not /guard:ehcont, they must all be recompiled with EH continuations, correct?