Thread (1 message) 1 message, 1 author, 2018-07-24

next-20180723 build: 2 failures 11 warnings (next-20180723)

From: Matt Hart <hidden>
Date: 2018-07-24 09:34:53
Also in: linux-next

On 24 July 2018 at 10:32, Matt Hart [off-list ref] wrote:


On 24 July 2018 at 10:16, Will Deacon [off-list ref] wrote:
quoted
On Mon, Jul 23, 2018 at 07:11:50PM +0100, Mark Brown wrote:
quoted
On Mon, Jul 23, 2018 at 05:59:12PM +0100, Build bot for Mark Brown wrote:

Today's -next fails to build an arm64 allmodconfig with:
quoted
    arm64-allmodconfig
ERROR: "__sync_icache_dcache" [drivers/xen/xen-privcmd.ko] undefined!
using

   aarch64-linux-gnu-gcc (Linaro GCC 5.3-2016.05) 5.3.1 20160412

however it builds perfectly fine with

   aarch64-linux-gnu-gcc (Linaro GCC 6.2-2016.11) 6.2.1 20161016

which honestly seems like a sensible and worthwhile upgrade at this
point anyway given that it's a year and a half old so I'm going to do
that for my builder (perhaps even jump on a newer version) but it seemed
worth highlighting in case this is considered undesirable.  A similar
issue is hitting on KernelCI, we should probably look at upgrading the
toolchain there too.
Hmm, it looks to me like this comes about because xen/privcmd.c is being
built as a module, but contains a call to set_pte_at() with a special pte:

        pte_t pte = pte_mkspecial(pfn_pte(page_to_pfn(page), r->prot));

        set_pte_at(r->mm, addr, ptep, pte);

which on arm64 contains:

        if (pte_present(pte) && pte_user_exec(pte) && !pte_special(pte))
                __sync_icache_dcache(pte);

so GCC 6 can optimise away the call to the non-exported symbol, but GCC 5
has trouble.

What I don't understand is why this suddenly cropped up. Did GCC 5 build
linux-next arm64 allmodconfig last week?

KernelCI uses GCC5 for ARM64 and xen-privcmd.ko has been broken in linux-next (and mainline) allmodconfig for a long time
Bloody gmail and it's HTML mean't this didn't get delivered to
linux-arm-kernel list. Resent.
quoted

Cheers,

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help