[ELF] Replace LazyObjFile with lazy ObjFile/BitcodeFile
The new `lazy` state is the inverse of the previous `LazyObjFile::extracted`. There are many advantages: * previously when a LazyObjFile was extracted, a new ObjFile/BitcodeFile was created; now the file is reused, just with `lazy` cleared * avoid the confusing transfer of `symbols` from LazyObjFile to the new file * the `incompatible file:` diagnostic is unified with `is incompatible with` * simpler code, smaller executable (6200+ bytes smaller on x86-64) * make eager parsing feasible (for parallel section/symbol table initialization)
Loading
Please register or sign in to comment