1
1
mirror of https://github.com/rui314/mold.git synced 2024-09-22 10:27:48 +03:00

temporary

This commit is contained in:
Rui Ueyama 2020-12-13 21:57:45 +09:00
parent b599577423
commit ae13cdc443
2 changed files with 8 additions and 17 deletions

View File

@ -341,6 +341,9 @@ static void scan_rels() {
// Assign offsets in additional tables for each dynamic symbol.
for (Symbol *sym : flatten(vec)) {
if (sym->is_imported)
out::dynsym->add_symbol(sym);
if (sym->needs_got)
out::got->add_got_symbol(sym);

View File

@ -393,9 +393,6 @@ void GotSection::add_got_symbol(Symbol *sym) {
sym->got_idx = shdr.sh_size / GOT_SIZE;
shdr.sh_size += GOT_SIZE;
got_syms.push_back(sym);
if (sym->is_imported)
out::dynsym->add_symbol(sym);
}
void GotSection::add_gottpoff_symbol(Symbol *sym) {
@ -403,9 +400,6 @@ void GotSection::add_gottpoff_symbol(Symbol *sym) {
sym->gottpoff_idx = shdr.sh_size / GOT_SIZE;
shdr.sh_size += GOT_SIZE;
gottpoff_syms.push_back(sym);
if (sym->is_imported)
out::dynsym->add_symbol(sym);
}
void GotSection::add_tlsgd_symbol(Symbol *sym) {
@ -413,9 +407,6 @@ void GotSection::add_tlsgd_symbol(Symbol *sym) {
sym->tlsgd_idx = shdr.sh_size / GOT_SIZE;
shdr.sh_size += GOT_SIZE * 2;
tlsgd_syms.push_back(sym);
if (sym->is_imported)
out::dynsym->add_symbol(sym);
}
void GotSection::add_tlsld_symbol(Symbol *sym) {
@ -423,9 +414,6 @@ void GotSection::add_tlsld_symbol(Symbol *sym) {
sym->tlsld_idx = shdr.sh_size / GOT_SIZE;
shdr.sh_size += GOT_SIZE * 2;
tlsld_syms.push_back(sym);
if (sym->is_imported)
out::dynsym->add_symbol(sym);
}
void GotSection::copy_buf() {
@ -536,11 +524,11 @@ void RelPltSection::copy_buf() {
}
void DynsymSection::add_symbol(Symbol *sym) {
if (sym->dynsym_idx == -1) {
sym->dynsym_idx = symbols.size() + 1;
sym->dynstr_offset = out::dynstr->add_string(sym->name);
symbols.push_back(sym);
}
if (sym->dynsym_idx != -1)
return;
sym->dynsym_idx = symbols.size() + 1;
sym->dynstr_offset = out::dynstr->add_string(sym->name);
symbols.push_back(sym);
}
void DynsymSection::update_shdr() {