mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-07 18:50:41 +00:00
When building with CONFIG_UBSAN_UNSIGNED_OVERFLOW, clang decides not to
inline gpi_update_reg, which causes a linkage failure around __bad_mask:
ld.lld: error: undefined symbol: __bad_mask
>>> referenced by bitfield.h:119 (include/linux/bitfield.h:119)
>>> dma/qcom/gpi.o:(gpi_update_reg) in archive drivers/built-in.a
>>> referenced by bitfield.h:119 (include/linux/bitfield.h:119)
>>> dma/qcom/gpi.o:(gpi_update_reg) in archive drivers/built-in.a
If gpi_update_reg is not inlined, the mask value will not be known at
compile time so the check in field_multiplier stays in the final
object file, causing the above linkage failure. Always inline
gpi_update_reg so that this check can never fail.
Fixes:
|
||
|---|---|---|
| .. | ||
| bam_dma.c | ||
| gpi.c | ||
| hidma_dbg.c | ||
| hidma_ll.c | ||
| hidma_mgmt_sys.c | ||
| hidma_mgmt.c | ||
| hidma_mgmt.h | ||
| hidma.c | ||
| hidma.h | ||
| Kconfig | ||
| Makefile | ||
| qcom_adm.c | ||