diff options
author | Pierre Labastie <pierre.labastie@neuf.fr> | 2022-09-10 13:41:38 +0200 |
---|---|---|
committer | Pierre Labastie <pierre.labastie@neuf.fr> | 2022-09-10 13:41:38 +0200 |
commit | 1bade3f439265d1c964701316922ab5cbfed93c8 (patch) | |
tree | 1681f7c086b2fc55b1219356356e466ddabad439 /chapter08 | |
parent | 0611f706d5cf2c5f18e18d51f2866956870b131a (diff) |
Document the --enable-default-pie/ssp options
Also document test failures in gcc chapter 8
Diffstat (limited to 'chapter08')
-rw-r--r-- | chapter08/gcc.xml | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index fd6e5ae3c..171808df2 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -106,6 +106,23 @@ cd build</userinput></screen> </varlistentry> </variablelist> + <note id="pie-ssp-info" xreflabel="note on PIE and SSP"> + <para> + PIE (position independent executable) is a technique to produce + binary programs that can be loaded anywhere in memory. Together + with a feature named ASLR (Address Space Layout Randomization), + this allows programs to never have the same memory layout, + thus defeating attacks based on reproducible memory patterns. + </para> + <para> + SSP (Stack Smashing Protection) is a technique to ensure + that the parameter stack is not corrupted. Stack corruption can + for example alter the return address of a subroutine, + which would allow transferring control to an attacker program instead + of the original one. + </para> + </note> + <para>Compile the package:</para> <screen><userinput remap="make">make</userinput></screen> @@ -139,6 +156,10 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen> url="&test-results;"/> and <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para> + <para>In gcc, eleven tests, in the i386 test suite are known to FAIL. + It's because the test files do not account for the + <parameter>--enable-default-pie</parameter> option.</para> + <para>In g++, four tests related to PR100400 are known to be reported as both XPASS and FAIL. It's because the test file for this known issue is not well written.</para> |