Hello Salvatore,

On Sat, Dec 29, 2018, 12:24 Salvatore Bellizzi <coreboot@seppia.net wrote:
Hi,
I have a question reguarding the build process.

Since crossgcc has been updated and gcc is now at version 8.1 I always
encounter an error when building coreboot:

coreboot/src/console/vtxprintf.c:102: undefined reference to
'__udivmoddi4'

If I remember properly, this happens when using the x86_64 (64-bit) toolchain with coreboot for x86 mainboards, on which coreboot runs in 32-bit mode. The older x86_64 GCC6 toolchain had a multilib patch which allowed it to compile to i386 (32-bit) machine code, which is why it worked fine. However, the x86_64 GCC8 toolchain does not have the aforementioned patch and fails.

Since coreboot uses crossgcc and its own libgcc libraries, I figured
that the __udivmoddi4 function has not yet been implemented.

Anyway I have incurred in this failure several times and even with the
latest 4.9 release. Shouldn't I be able to build at least this latest
release using unmodified crossgcc or am I missing something else?

Definitely, you should be able to, but you need crossgcc-i386 to build coreboot for x86 platforms.

thanks,
salvatore

Best regards,

Angel Pons