Re: BUILD_BUG() in smaps_account() (was: Re: [PATCHv12 01/37] mm, proc: adjust PSS calculation)
From: Geert Uytterhoeven
Date: Mon Jan 18 2016 - 09:57:03 EST
On Mon, Jan 18, 2016 at 12:40 PM, Kirill A. Shutemov
> On Mon, Jan 18, 2016 at 11:09:00AM +0100, Geert Uytterhoeven wrote:
>> fs/built-in.o: In function `smaps_account':
>> task_mmu.c:(.text+0x4f8fa): undefined reference to
>> Seen with m68k/allmodconfig or allyesconfig and gcc version 4.1.2 20061115
>> (prerelease) (Ubuntu 4.1.1-21).
>> Not seen when compiling the affected file with gcc 4.6.3 or 4.9.0, or with the
>> m68k defconfigs.
> Please, test this:
> From 5ac27019f886eef033e84c9579e09099469ccbf9 Mon Sep 17 00:00:00 2001
> From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
> Date: Mon, 18 Jan 2016 14:32:49 +0300
> Subject: [PATCH] mm, proc: add workaround for old compilers
> For THP=n, HPAGE_PMD_NR in smaps_account() expands to BUILD_BUG().
> That's fine since this codepath is eliminated by modern compilers.
> But older compilers have not that efficient dead code elimination.
> It causes problem at least with gcc 4.1.2 on m68k.
> Let's replace HPAGE_PMD_NR with 1 << compound_order(page).
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Thanks, that fixes it!
Tested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds