Hello Salvatore,
On Sat, Dec 29, 2018, 12:24 Salvatore Bellizzi <coreboot(a)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