1
1
mirror of https://github.com/rui314/mold.git synced 2024-12-26 01:44:29 +03:00

temporary

This commit is contained in:
Rui Ueyama 2021-01-20 18:26:57 +09:00
parent 1161e4b4a9
commit f902d8b234
3 changed files with 7 additions and 0 deletions

View File

@ -144,3 +144,7 @@ If you forget to add an entry with type DT_DEBUG to .dynamic, gdb's
`info sharedlibrary` command doesn't print out a list of shared `info sharedlibrary` command doesn't print out a list of shared
libraries loaded to memory. The value of the entry doesn't matter, so libraries loaded to memory. The value of the entry doesn't matter, so
it can be just zero. The existence of it is important. it can be just zero. The existence of it is important.
#
__EH_FRAME_BEGIN__ in libgcc/crtstuff.c

1
mold.h
View File

@ -335,6 +335,7 @@ public:
u64 reldyn_offset = 0; u64 reldyn_offset = 0;
bool is_comdat_member = false; bool is_comdat_member = false;
bool is_alive = true; bool is_alive = true;
bool is_ehframe = false;
void apply_reloc_alloc(u8 *base); void apply_reloc_alloc(u8 *base);
void apply_reloc_nonalloc(u8 *base); void apply_reloc_nonalloc(u8 *base);

View File

@ -190,6 +190,7 @@ void ObjectFile::initialize_ehframe_sections() {
InputSection *isec = sections[i]; InputSection *isec = sections[i];
if (isec && isec->name == ".eh_frame") { if (isec && isec->name == ".eh_frame") {
read_ehframe(*isec); read_ehframe(*isec);
isec->is_ehframe = true;
sections[i] = nullptr; sections[i] = nullptr;
} }
} }
@ -213,6 +214,7 @@ void ObjectFile::read_ehframe(InputSection &isec) {
if (size == 0) { if (size == 0) {
if (data.size() != 4) if (data.size() != 4)
Fatal() << *isec.file << ": .eh_frame: garbage at end of section"; Fatal() << *isec.file << ": .eh_frame: garbage at end of section";
cies.push_back({data, {}, {}});
return; return;
} }