On 10/31/18, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > On 10/30/18 8:59 PM, Stephen Rothwell wrote: >> Hi all, >> >> Please do not add any v4.21/v5.1 code to your linux-next included trees >> until after the merge window closes. >> >> Changes since 20181030: >> > > > on i386: > > ld: drivers/virt/vboxguest/vboxguest_core.o: in function > `vbg_ioctl_hgcm_call': > vboxguest_core.c:(.text+0x212b): undefined reference to `vbg_hgcm_call32' > > > Full randconfig file is attached. > > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> I ran into the same thing, and lots of others like it; they all go back to the -Og compiler option introduced in commit 94c7dfd01652 ("kernel hacking: support building kernel with -Og optimization level"). I have patches for most of these, but I'd prefer if we could leave that patch out of 4.20 for now, and have it in linux-next for merging into the next merge window, to give us more time to fix up all the regressions. This particular instance is fixed by the patch below. Other symptoms caused by the change are tons of 'section mismatch' warnings for functions that are no longer automatically inlined, and sprintf format string overflow warnings when gcc fails to propagate an upper bound on an integer argument that is printed into a fixed length string. Arnd --- >From 8172e650c6797b9cc64c6f7b1c9e5433156290cc Mon Sep 17 00:00:00 2001 From: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed, 31 Oct 2018 16:24:35 +0100 Subject: [PATCH] vbox: fix link error with 'gcc -Og' With the new CONFIG_CC_OPTIMIZE_FOR_DEBUGGING option, we get a link error in the vboxguest driver, when that fails to optimize out the call to the compat handler: drivers/virt/vboxguest/vboxguest_core.o: In function `vbg_ioctl_hgcm_call': vboxguest_core.c:(.text+0x1f6e): undefined reference to `vbg_hgcm_call32' Another compile-time check documents better what we want and avoids the error. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c index 3093655c7b92..1475ed5ffcde 100644 --- a/drivers/virt/vboxguest/vboxguest_core.c +++ b/drivers/virt/vboxguest/vboxguest_core.c @@ -1312,7 +1312,7 @@ static int vbg_ioctl_hgcm_call(struct vbg_dev *gdev, return -EINVAL; } - if (f32bit) + if (IS_ENABLED(CONFIG_COMPAT) && f32bit) ret = vbg_hgcm_call32(gdev, client_id, call->function, call->timeout_ms, VBG_IOCTL_HGCM_CALL_PARMS32(call),