fix maximum object size semantics

This fixes the gap in the language definition causing #18726 by defining
a clear bound on the maximum size for libraries to enforce.

Closes #18069
Can you either add `Fixes #18069` or keep the FIXME #18069 but change the text to "Investigate LLVM support for huge objects more deeply"? I doubt we've done the investigation, but it also seems like one of those open-ended issues that can never truly be closed (even if we DID exhaustively read each line of LLVM, it will keep being edited), so I'm not sure it's worth keeping around. Matching clang's limits might help give us confidence, of course we can't do that programmatically.