Re: nvme.c:2012:2: error: call to undeclared function 'memmove'

From: Ian FREISLICH <ianfreislich_at_gmail.com>
Date: Wed, 19 Nov 2025 19:50:41 UTC
On 11/19/25 14:24, Minsoo Choo wrote:
> On Wednesday, November 19th, 2025 at 2:19 PM, Ian FREISLICH <ianfreislich@gmail.com> wrote:
> 
>> My kernel build started failing recently with the following error. I use
>> a custom kernel config but looking at NOTES, it's not clear that I've
>> missed an option that would make it compile.
>>
>> In file included from /usr/src/sys/dev/nvme/nvme_util.c:34:
>> /usr/src/sys/dev/nvme/nvme.h:2012:2: error: call to undeclared function
>> 'memmove'; ISO C99 and later do not support implicit function
>> declarations [-Werror,-Wimplicit-function-declaration]
>> 2012 | memmove(sn, cdata->sn, NVME_SERIAL_NUMBER_LENGTH);
>>
>> | ^
>> 1 error generated.
>> *** Error code 1
>>
>> I've also tried compiling after blowing away usr/obj.
>>
>> Ian
> 
> memmove is declared in systm.h, but I don't see include statement for systm.h in nvme.h. Could you try including <sys/systm.h> in sys/dev/nvme/nvme.h and build again?

It builds with that, but coincidentally GENERIC builds without that change.

Ian