aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-12-09 18:35:23 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-12-09 18:35:23 +0100
commit698f3e8de2f0104dc80402ea151aae73b946a2d9 (patch)
treeb242ab4c6108c96a4bf1ecdab7cff517a9c417e4
parentcb7226cafad9059a38b383ffc3c853f197322a14 (diff)
downloadkernel_samsung_smdk4412-698f3e8de2f0104dc80402ea151aae73b946a2d9.zip
kernel_samsung_smdk4412-698f3e8de2f0104dc80402ea151aae73b946a2d9.tar.gz
kernel_samsung_smdk4412-698f3e8de2f0104dc80402ea151aae73b946a2d9.tar.bz2
mm: Disable optimization for function shrink_page_list()replicant-6.0-alpha-0005
GCC version 5.4.1+svn241155-1 in Debian Stretch has a bug that breaks the build. The error is attached. TODO: Gigure out the actual bug or revert patch if a newer GCC is available in Stretch. /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c: In function 'shrink_page_list': /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1019:1: error: insn does not satisfy its constraints: } ^ (insn 1111 1814 1112 116 (parallel [ (set (reg/v:SI 3 r3 [orig:111 nr_dirty ] [111]) (and:SI (ne:SI (reg/v:SI 3 r3 [orig:111 nr_dirty ] [111]) (const_int 0 [0])) (eq:SI (reg/v:SI 3 r3 [orig:111 nr_dirty ] [111]) (reg/v:SI 2 r2 [orig:112 nr_congested ] [112])))) (clobber (reg:CC 100 cc)) ]) /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1011 256 {*and_scc_scc_nodom} (nil)) /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1019:1: internal compiler error: in extract_constrain_insn, at recog.c:2246 /home/wolfi/6.0-romsrc/kernel/samsung/smdk4412/mm/vmscan.c:1019:1: internal compiler error: Segmentation fault arm-none-eabi-gcc: internal compiler error: Segmentation fault (program cc1) Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
-rw-r--r--mm/vmscan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 99082fa..b0d3366 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -767,6 +767,7 @@ static noinline_for_stack void free_page_list(struct list_head *free_pages)
pagevec_free(&freed_pvec);
}
+#pragma GCC optimize ("O0")
/*
* shrink_page_list() returns the number of reclaimed pages
*/
@@ -1017,6 +1018,7 @@ keep_lumpy:
count_vm_events(PGACTIVATE, pgactivate);
return nr_reclaimed;
}
+#pragma GCC reset_options
/*
* Attempt to remove the specified page from its LRU. Only take this page