diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-12-09 18:35:23 +0100 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2019-07-24 09:58:29 +0200 |
commit | dd812a93fcb8fd6cb65df65d4b21fd5c63435160 (patch) | |
tree | 4858ff75da42a961f0a336dde43188b364be39e3 | |
parent | 19dc58fb6a5634c1293f226563d5f3626fac49e2 (diff) | |
download | kernel_samsung_tuna-dd812a93fcb8fd6cb65df65d4b21fd5c63435160.tar.gz kernel_samsung_tuna-dd812a93fcb8fd6cb65df65d4b21fd5c63435160.tar.bz2 kernel_samsung_tuna-dd812a93fcb8fd6cb65df65d4b21fd5c63435160.zip |
mm: Disable optimization for function shrink_page_list()
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.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index 4a0d77f0f33..d3d1954e138 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -770,6 +770,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 |