Re: (arm64) link_elf: symbol __floatundidf undefined ...

From: Bjoern A. Zeeb <bzeeb-lists_at_lists.zabbadoz.net>
Date: Mon, 26 May 2025 13:05:32 UTC
On Mon, 26 May 2025, Dimitry Andric wrote:

Hi,

thanks for the quick answer.

> On 26 May 2025, at 14:25, Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net> wrote:
>>
>> I've just compiled and installed a new arm64/main with my own kernel
>> config to have wifi bits as modules.
>>
>> I am a bit puzzed as to where this comes from in the kernel.
>>
>> # kldload wlan
>> link_elf: symbol __floatundidf undefined: 0xffff000143ed1370 0xffff000143ecf9f0 11496 0xffff000143ed26d8 0x2
>> kldload: can't load wlan: No such file or directory
>>
>> % nm modules/usr/src/sys/modules/wlan/wlan.ko.full | grep float
>>                 U __floatundidf
>>
>> Anyone any idea?
>
> _Something_ is converting a unsigned long to a double, but what? Can you figure out which object file it is?

% nm ieee80211_ioctl.o | grep __floatundidf
                  U __floatundidf

This may be a local change I have adding an extra 10% of space in the
ioctl code to accomodate for enlargement of a result set for testing.
 	size_t space;
 	...
 	space *= 1.10;

Given it's likely that it's that I think the real question is, why is this
not an issue on amd64 but on arm64 as I've been running that change for
days on amd64?

-- 
Bjoern A. Zeeb                                                     r15:7