Re: nvme.c:2012:2: error: call to undeclared function 'memmove'
Date: Wed, 19 Nov 2025 20:42:41 UTC
On Wednesday, November 19th, 2025 at 2:51 PM, Ian FREISLICH <ianfreislich@gmail.com> wrote: > 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 Could you send your kernel config? Maybe sys/systm.h is included under GENERIC but not under some configs.