MC: Give a (lame) hard error if a .org directive would create an unreasonably

large object file (> 1GB).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113494 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2010-09-09 16:23:33 +00:00
parent 874f021bc1
commit a6c329d66b

View File

@ -447,7 +447,7 @@ uint64_t MCAssembler::ComputeFragmentSize(MCAsmLayout &Layout,
// FIXME: We need a way to communicate this error. // FIXME: We need a way to communicate this error.
int64_t Offset = TargetLocation - FragmentOffset; int64_t Offset = TargetLocation - FragmentOffset;
if (Offset < 0) if (Offset < 0 || Offset >= 0x40000000)
report_fatal_error("invalid .org offset '" + Twine(TargetLocation) + report_fatal_error("invalid .org offset '" + Twine(TargetLocation) +
"' (at offset '" + Twine(FragmentOffset) + "'"); "' (at offset '" + Twine(FragmentOffset) + "'");