I know that my error is most likely not due to the grsec patch itself but due to some ideosyncracies of the Raspberry Pi.
Some time (during 3.13.0 and 3.14.1 (i think it has to be around 3.13.5)) my rpi refused to boot grsec-patched kernels. I tracked the error down to a line in the randomize_layout_plugin. If I apply the following patch (disabling the call to relayout_decl) the rpi boots even with newer patches.
- Code: Select all
+++ b/tools/gcc/randomize_layout_plugin.c
@@ -453,7 +453,7 @@ static void randomize_layout_finish_decl(void *event_data, void *data)
if (!lookup_attribute("randomize_performed", TYPE_ATTRIBUTES(type)))
return;
- relayout_decl(decl);
+// relayout_decl(decl);
}
Since I'm in no way an expert for gcc plugins I'm more or less guessing that this is the line that actually does "the magic". If not: would you be so nice and try to explain what that line does and in what way it is important?
Do you have any hints how to debug my issue further?