diff --git a/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.md b/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.md index 3d07f130..bdbe6561 100644 --- a/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.md +++ b/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.md @@ -843,6 +843,10 @@ Applications that are sensitive to the performance impact on startup time should Static linking avoids the need for dynamic symbol resolution altogether but can make it more difficult to deploy patches to dependencies compared to upgrading shared libraries. Developers need to consider whether static linking is discouraged in their deployment scenarios, e.g., major Linux distributions generally forbid static linking of shared application dependencies. +#### Additional considerations + +To benefit from partial and full relro both the application executable and any libraries that are linked to the application must be built with the appropriate compiler options. If any non-RELRO libraries are loaded by `ld.so` they will prevent RELRO from being enabled for the applications. + --- ### Build as position-independent code