systemd-based system build fails on gcc-5.4.0 host

I am using buildroot to build a systemd-init based system, and everything works great on a modern-ish host linux distribution (Linux Mint 20.3).

However, the same configuration fails on on older Ubuntu 16.04-based system. It has gcc 5.4.0 (which should be fine, according to version 4.8 or any later being mentioned in buildroot documentation System requirements section).

What I get is

../src/basic/virt.c:1005:13: error: implicit declaration of function '__get_cpuid_count' [-Werror=implicit-function-declaration]
           if (__get_cpuid_count(7, 0, &eax, &ebx, &ecx, &edx)) {

During host-systemd 254.9 Building stage.

As I understand it, the version of systemd used has a "bug" in its documentation, as it states gcc >= 4.7 in its requirements, but uses a feature (__get_cpuid_count), available since gcc-6.3.0. In newer systemd version the requirement was bumped all the way to gcc >= 8.4.

I am using BR2_FORCE_HOST_BUILD=y (to have more reproducible builds in different build environments, as I have to use a bunch of specialized builders), so I guess that not-building host-systemd is not an option for me.

Maybe it would be possible to use buildroot-provided "host-gcc" to build "host-systemd", as all the versions are fresher (8.4+)? Would it even be possible to build "host-gcc", if I use external toolchain to build the target and it is installed to "host" (the target system is an ARM one, the builders are x86_64)?

Versions data: buildroot: master/256aa8ed builder system: Ubuntu 16.04