Page MenuHomeFreeBSD

stand: fix build with xtoolchain-llvm90
ClosedPublic

Authored by kevans on Aug 16 2019, 12:29 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 11 2024, 9:51 AM
Unknown Object (File)
Mar 11 2024, 9:51 AM
Unknown Object (File)
Mar 11 2024, 9:46 AM
Unknown Object (File)
Mar 7 2024, 11:44 PM
Unknown Object (File)
Jan 3 2024, 10:31 PM
Unknown Object (File)
Jan 3 2024, 10:31 PM
Unknown Object (File)
Jan 3 2024, 10:31 PM
Unknown Object (File)
Jan 3 2024, 7:15 PM
Subscribers
None

Details

Summary

I'll commit this in two parts:

stand: push LIBC_SRC up into defs.mk

Other parts of stand/ that don't use libsa will need to grab bits from libc shortly. Push LIBC_SRC up to defs.mk in advance of this so that they can use it, and rename it to LIBCSRC to match the convention of the rest of the *SRC variables in this file.

(SECOND COMMIT BELOW)

stand: fix build with xtoolchain-llvm90

ufsread.c grows a dependency on __ashldi3 with llvm90. This exposes itself primarily in gptboot and i386/boot2.

For gptboot, just start pulling in ashldi3.c ashrdi3.c lshrdi3.c into libsa for all archs except riscv[*] as the number of archs requiring one or more of them keeps growing.

For boot2, reach into libc/quad and grab it.

Prototypes are added to the two quad.h used during the stand build to appease -Wmissing-prototypes where that crops up. Future work will try to eliminate the duplicate quad.h...

libsa/quad.h no longer compensates for GNUC < 2. It's been long enough that this isn't relevant anymore, and this puts libsa/quad.h closer in line to libc/quad/quad.h.

  • riscv build doesn't currently like __ashldi3 and it doesn't really need it, so this one's left out for now.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I think this is fine.... Not 100% sure, but I think we'll be good. The time may be here to always link in libsa.a, but if you don't *NEED* that, then let's not go there yet. the day will come though...

This revision is now accepted and ready to land.Aug 16 2019, 1:47 AM
This revision was automatically updated to reflect the committed changes.