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

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 32818
Build 30233: arc lint + arc unit

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