Page MenuHomeFreeBSD

Add missing FreeBSD functions to -legacy when building on macOS/Linux
ClosedPublic

Authored by arichardson on Aug 6 2020, 6:02 PM.

Details

Summary

In most cases this simply builds the file from lib/libc for missing
functions (e.g. strlcpy on Linux etc.). In cases where this is not possible
I've added an implementation to tools/build/cross-build.

The fgetln.c/fgetwln.c/closefrom.c compatibility code was obtained from
https://gitlab.freedesktop.org/libbsd/libbsd, but I'm not sure it makes
sense to import it into to contrib just for these three bootstrap files.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

I don't have a strong opinion on vendoring those libbsd files.

fgetln is an atrocity, but unfortunately a widely used one. :(

This revision is now accepted and ready to land.Aug 6 2020, 8:39 PM
This revision now requires review to proceed.Aug 7 2020, 1:29 PM
This revision is now accepted and ready to land.Aug 10 2020, 5:30 PM
This revision now requires review to proceed.Aug 11 2020, 2:40 PM
This revision is now accepted and ready to land.Aug 11 2020, 8:44 PM

rebase, move some includes to also be copied for !crossbuild (should hopefully fix cirrus CI)

This revision now requires review to proceed.Aug 13 2020, 3:06 PM
This revision is now accepted and ready to land.Aug 13 2020, 10:06 PM