Apparently unversioned symbol references just bind to any random version found: https://stackoverflow.com/a/19364771
In theory, this can be used to avoid specifying (and using!) the oldest glibc symbols. (Possibly it might even enable using our binaries on non-glibc systems as well?)
Only problem is, I can't see a way to instruct ld to do this. The StackOverflow answer above solves it by building the target library without symbols, but so long as we're using Ubuntu-packaged libraries, we can't really do that for glibc.
At the very least, I guess this can be solved when we finally build our own libc from scratch, but it'd be nice to find a proper solution.