diff mbox series

vbox: fix link error with 'gcc -Og'

Message ID 20181102153905.1732199-1-arnd@arndb.de
State Accepted
Commit b8ae30a7020d61e0504529adf45abb08fa5c59f5
Headers show
Series vbox: fix link error with 'gcc -Og' | expand

Commit Message

Arnd Bergmann Nov. 2, 2018, 3:38 p.m. UTC
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.

Acked-by: Randy Dunlap<rdunlap@infradead.org>

Tested-by: Randy Dunlap<rdunlap@infradead.org>

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/virt/vboxguest/vboxguest_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.18.0

Comments

Hans de Goede Nov. 2, 2018, 7:43 p.m. UTC | #1
Hi,

On 11/2/18 4:38 PM, Arnd Bergmann wrote:
> 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.

> 

> Acked-by: Randy Dunlap<rdunlap@infradead.org>

> Tested-by: Randy Dunlap<rdunlap@infradead.org>

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Thank you, looks good to me:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>


Regards,

Hans



> ---

>   drivers/virt/vboxguest/vboxguest_core.c | 2 +-

>   1 file changed, 1 insertion(+), 1 deletion(-)

> 

> 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),

>
diff mbox series

Patch

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),