mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-21 03:32:29 +00:00
The system ranlib on darwin occasionally adds two extra newlines to the
end of files, breaking the CFE build. As a gross hack around this, ignore any trailing garbage on bytecode files. Thanks to Brian for digging in and identifying the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16525 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
48f44cf5b3
commit
56bc894d06
@ -2139,10 +2139,16 @@ void BytecodeReader::ParseBytecode(BufPtr Buf, unsigned Length,
|
||||
error("Expected Module Block! Type:" + utostr(Type) + ", Size:"
|
||||
+ utostr(Size));
|
||||
}
|
||||
if (At + Size != MemEnd) {
|
||||
|
||||
// It looks like the darwin ranlib program is broken, and adds trailing
|
||||
// garbage to the end of some bytecode files. This hack allows the bc
|
||||
// reader to ignore trailing garbage on bytecode files.
|
||||
if (At + Size < MemEnd)
|
||||
MemEnd = BlockEnd = At+Size;
|
||||
|
||||
if (At + Size != MemEnd)
|
||||
error("Invalid Top Level Block Length! Type:" + utostr(Type)
|
||||
+ ", Size:" + utostr(Size));
|
||||
}
|
||||
|
||||
// Parse the module contents
|
||||
this->ParseModule();
|
||||
|
Loading…
x
Reference in New Issue
Block a user