diff options
author | Fabian Affolter <fabian@bernewireless.net> | 2011-07-05 19:40:43 +0200 |
---|---|---|
committer | Fabian Affolter <fabian@bernewireless.net> | 2011-07-05 19:40:43 +0200 |
commit | 7f9851115264bca9bce3926ddb29e533a23929dd (patch) | |
tree | b0426fc489e4dad582f34b25d6f93354a65f5c0f /main/distcc/distcc-hardened.patch | |
parent | 5dac3f219058736f6e19b7bec2b1cc2b1b300981 (diff) | |
parent | 269fc1049583d36e07153215fe535f88947ea98b (diff) | |
download | aports-7f9851115264bca9bce3926ddb29e533a23929dd.tar.bz2 aports-7f9851115264bca9bce3926ddb29e533a23929dd.tar.xz |
Merge branch 'master' of git://git.alpinelinux.org/aports
Diffstat (limited to 'main/distcc/distcc-hardened.patch')
-rw-r--r-- | main/distcc/distcc-hardened.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/main/distcc/distcc-hardened.patch b/main/distcc/distcc-hardened.patch new file mode 100644 index 0000000000..69b3a65169 --- /dev/null +++ b/main/distcc/distcc-hardened.patch @@ -0,0 +1,24 @@ +From: Gordon Malm <gengor@gentoo.org> + +Make distcc client pass -D__KERNEL__ macro. Hardened GCC uses this +macro to determine if code intended to be run in-kernel is being compiled. +If the code is kernel code, certain compile flags are not applied. + +When using distcc to build kernel code (modules, etc.) without this patch, +the distccd host doesn't get passed -D__KERNEL__. Consequently, gcc on +the distccd host applies all kinds of flags that it shouldn't. + +--- distcc-2.18.3/src/strip.c ++++ distcc-2.18.3-hardened/src/strip.c +@@ -73,7 +73,10 @@ int dcc_strip_local_args(char **from, ch + /* skip through argv, copying all arguments but skipping ones that + * ought to be omitted */ + for (from_i = to_i = 0; from[from_i]; from_i++) { +- if (str_equal("-D", from[from_i]) ++ if (str_equal("-D__KERNEL__", from[from_i])) { ++ to[to_i++] = from[from_i]; ++ } ++ else if (str_equal("-D", from[from_i]) + || str_equal("-I", from[from_i]) + || str_equal("-U", from[from_i]) + || str_equal("-L", from[from_i]) |