Conversation

Replying to and
It's hard to grade fortify support since it can only work for statically sized buffers and avoids checks in cases where the compiler can see it never overflows. Some implementations primarily (or only) use inline checks and won't be detected. Some also cover more libc functions.
1
1
Also worth noting that stack canaries can still be used alongside either of those. ShadowCallStack just protects return addresses and SafeStack tries to put anything that cannot have overflows (no references to it) on a separate safe stack so unsafe stack can still have canaries.
1
1