[Bug 264094] VNET and DPCPU defined in modules panic on use on arm64 after LLVM 14 import due to new linker relaxation

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 12 Dec 2022 17:32:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264094

Mark Johnston <markj@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markj@FreeBSD.org

--- Comment #19 from Mark Johnston <markj@FreeBSD.org> ---
(In reply to Jessica Clarke from comment #10)
Can you see offhand why the symbol (vnet_entry_htcp_adaptive_backoff) is
preemptible in the first place?  For arm64 KLDs, VNET_DEFINE_STATIC is hacked
up to omit the static qualifier.  But the linker changes the binding of the
symbol:

cc_htcp.o:
73: 0000000000000000     4 OBJECT  GLOBAL DEFAULT    5
vnet_entry_htcp_adaptive_backoff
cc_htcp.ko:
35: 0000000000021520     4 OBJECT  LOCAL  DEFAULT   11
vnet_entry_htcp_adaptive_backoff

and local symbols have hidden visibility by default.  I'm not sure offhand why
it's changed.  I guess -Bsymbolic would have that effect, but we don't specify
it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.