1
1
mirror of https://github.com/rui314/mold.git synced 2024-12-27 10:23:41 +03:00

temporary

This commit is contained in:
Rui Ueyama 2020-11-05 21:47:07 +09:00
parent cb4370b1b7
commit 90ff06201e

16
main.cc
View File

@ -299,10 +299,6 @@ static void assign_got_offsets(u8 *buf, ArrayRef<ObjectFile *> files) {
rel->setType(R_X86_64_IRELATIVE, false); rel->setType(R_X86_64_IRELATIVE, false);
rel->r_addend = sym->addr; rel->r_addend = sym->addr;
relplt_offset += sizeof(ELF64LE::Rela); relplt_offset += sizeof(ELF64LE::Rela);
llvm::outs() << "sym=" << sym->name
<< " gotplt=" << sym->gotplt_offset
<< "\n";
} }
} }
} }
@ -506,8 +502,8 @@ static void fix_synthetic_symbols(ArrayRef<OutputChunk *> output_chunks) {
} }
// __rela_iplt_start and __rela_iplt_end // __rela_iplt_start and __rela_iplt_end
// start(out::relplt, out::__rela_iplt_start); start(out::relplt, out::__rela_iplt_start);
// stop(out::relplt, out::__rela_iplt_end); stop(out::relplt, out::__rela_iplt_end);
// __{init,fini}_array_{start,end} // __{init,fini}_array_{start,end}
for (OutputChunk *chunk : output_chunks) { for (OutputChunk *chunk : output_chunks) {
@ -836,9 +832,11 @@ int main(int argc, char **argv) {
MyTimer t("sym_addr"); MyTimer t("sym_addr");
for_each(files, [](ObjectFile *file) { file->fix_sym_addrs(); }); for_each(files, [](ObjectFile *file) { file->fix_sym_addrs(); });
for (OutputChunk *chunk : output_chunks) for (OutputChunk *chunk : output_chunks) {
if (chunk->shdr.sh_flags & SHF_TLS) ELF64LE::Shdr &shdr = chunk->shdr;
out::tls_end = chunk->shdr.sh_addr + chunk->shdr.sh_size; if (shdr.sh_flags & SHF_TLS)
out::tls_end = align_to(shdr.sh_addr + shdr.sh_size, shdr.sh_addralign);
}
} }
tbb::task_group tg_unlink; tbb::task_group tg_unlink;