@@ -350,12 +350,23 @@ for them.
350350
351351This is somewhat hard to do with an external tool, since there is
352352no way of looking at a binary and telling what mitigations its components
353- have (for example [ ` hardening-check(1) ` ] , exists, but its check for
354- stack smashing protection only checks that at least 1 function has stack
355- cookies, rather than checking that every interesting function has it
356- enabled).
357-
353+ have.
354+
355+ There are howevever some external tools that do check for mitigations,
356+ but they have limitations:
357+
358+ 1 . [ ` hardening-check(1) ` ] exists, but its check for stack smashing protection only
359+ checks that at least 1 function has stack cookies, rather than checking that
360+ every interesting function has it enabled.
361+ 2 . The Linux kernel has [ ` objtool ` ] , which checks for some other mitigations (for
362+ example, retpolines). It however needs to access the ` .o ` object files
363+ rather than to the final linked executable or shared library - which
364+ requires its user to control the linking process - and also has hardcoded
365+ limitations that make it only suitable for the Linux kernel, rather than
366+ being useful as a general-purpose tool.
367+
358368[ `hardening-check(1)` ] : https://manpages.debian.org/testing/devscripts/hardening-check.1.en.html
369+ [ `objtool` ] : https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/objtool/Documentation/objtool.txt?id=5cd64d4f92683afa691a6b83dcad5adfb2165ed0
359370
360371## .note.gnu.property
361372
0 commit comments