Re: Buildkernel fails in /usr/obj/usr/src/arm.armv7/sys/GENERIC/vchiq_shim.o

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.current,gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On Nov 1, 2025, at 10:45, Mark Millard <[email protected]> wrote:

> On Nov 1, 2025, at 10:22, Adrian Chadd <[email protected]> wrote:
> 
>> Here's my suggested solution:
>> 
>> ===
>> diff --git a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
>> index 96c3a0db8aa5..7e105a6b3b77 100644
>> --- a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
>> +++ b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c
>> @@ -628,7 +628,9 @@ free_pagelist(BULKINFO_T *bi, int actual)
>>        pagelist = bi->pagelist;
>> 
>>        vchiq_log_trace(vchiq_arm_log_level,
>> -               "free_pagelist - %zx, %d (%u bytes @%p)", (size_t)pagelist, actual, pagelist->length, bi->buf);
>> +           "free_pagelist - %zx, %d (%lu bytes @%p)",
>> +           (size_t)pagelist, (int)actual, (unsigned long)pagelist->length,
>> +           bi->buf);
>> 
>>        num_pages =
>>                (pagelist->length + pagelist->offset + PAGE_SIZE - 1) /
>> ===
>> 
>> The code /is/ being compiled on my arm64 and armv7 builds, I verified this by using #error in this source file. But the format strings aren't eliciting a type violation when I cross compile.
> 
> The CI builds are on the likes of butler4.nyi.freebsd.org which
> are amd64 as far as I know: also cross builds.
> 
> The CI build infrastructure may be public enough to check for if
> anything special is specified for those builds. For example, I do
> not know if they use /dev/null or empty files relative to the
> likes of environment variables:
> 
> __MAKE_CONF
> SRCCONF
> SRC_ENV_CONF
> 
> or what the related file content might be like otherwise.

In:

https://ci.freebsd.org/job/FreeBSD-main-armv7-build/26181/consoleFull

I see:

. . .
export 'MAKEOBJDIRPREFIX=/workspace/obj'
rm -fr /workspace/obj
. . .
sudo make -j 12 -DWITHOUT_CLEAN buildworld 'TARGET=arm' 'TARGET_ARCH=armv7' '__MAKE_CONF=/workspace/freebsd-ci/jobs/FreeBSD-main-armv7-build/make.conf' 'SRCCONF=/dev/null'
. . .
sudo make -j 12 -DWITHOUT_CLEAN buildkernel 'TARGET=arm' 'TARGET_ARCH=armv7' '__MAKE_CONF=/workspace/freebsd-ci/jobs/FreeBSD-main-armv7-build/make.conf' 'SRCCONF=/dev/null'
. . .

In:

https://github.com/freebsd/freebsd-ci/blob/main/jobs/FreeBSD-main-armv7-build/make.conf

I see just:

QUOTE
KERNCONF=GENERIC GENERIC-MMCCAM
END QUOTE

I do not see anything explicit related to what SRC_ENV_CONF is for
binding to, so a default context for that binding.


===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.