Not having libc.so provide these two variables means it is impossible
to link downstream code with -Wl,--no-undefined and/or
-Wl,--no-allow-shlib-undefined. The problem here is that the real
definition of these symbols is provided by the csu bits and is added to
the final executable. I believe that changing this to define them in
libc.so instead would not be backwards, so this commit adds a weak
definition in libc.so instead.
Currently, downstream projects that compile with -Wl,--no-undefined to
catch missing symbols have to manually opt-out for FreeBSD. See for
example https://codereview.qt-project.org/c/qt/qtbase/+/147845 or
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1306.
PR: 220103
MFC after: 1 week