This is an archive of the discontinued LLVM Phabricator instance.

[nolibc] Disable the GCC stack protector when building sanitizer runtimes.
ClosedPublic

Authored by pcc on May 7 2013, 9:52 AM.

Details

Summary

This is the first in a sequence of changes designed to eliminate the
libc dependency in sanitizer_common. The main motivation for these
changes is to be able to provide an alternative for the current
interceptor-based technique for instrumenting functions in libc.
In this new technique, we compile libc with instrumentation. This has
the potential advantages of being more accurate than interception and
reducing the amount of custom code required for each libc function.
As a side effect of this, we cannot depend on libc in the sanitizer
runtime due to mutual dependency issues.

This change disables the GCC stack protector, which introduces a libc
dependency and is enabled by default in Ubuntu.

Diff Detail

Event Timeline

rnk added a comment.May 7 2013, 11:04 AM

LGTM

Yep, we turn this off in DynamoRIO for the same reason.

kcc accepted this revision.May 8 2013, 12:03 AM

LGTM

pcc closed this revision.May 8 2013, 3:40 AM

Closed by commit rL181422 (authored by @pcc).