mirror of
https://github.com/rui314/mold.git
synced 2024-09-21 18:08:01 +03:00
[Mach-O] wip
This commit is contained in:
parent
e66be5010f
commit
1a70f94dcd
@ -106,7 +106,7 @@ static void export_symbols(Context &ctx) {
|
|||||||
syms.push_back(sym);
|
syms.push_back(sym);
|
||||||
|
|
||||||
for (Symbol *sym : syms)
|
for (Symbol *sym : syms)
|
||||||
ctx.stubs.add(ctx, *sym, ((DylibFile *)sym->file)->dylib_idx, 0);
|
ctx.stubs.add(ctx, *sym, ((DylibFile *)sym->file)->dylib_idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
static i64 assign_offsets(Context &ctx) {
|
static i64 assign_offsets(Context &ctx) {
|
||||||
|
@ -387,7 +387,7 @@ class StubsSection : public Chunk {
|
|||||||
public:
|
public:
|
||||||
StubsSection();
|
StubsSection();
|
||||||
|
|
||||||
void add(Context &ctx, Symbol &sym, i64 dylib_idx, i64 flags);
|
void add(Context &ctx, Symbol &sym, i64 dylib_idx);
|
||||||
void copy_buf(Context &ctx) override;
|
void copy_buf(Context &ctx) override;
|
||||||
|
|
||||||
static constexpr i64 ENTRY_SIZE = 6;
|
static constexpr i64 ENTRY_SIZE = 6;
|
||||||
@ -395,7 +395,6 @@ public:
|
|||||||
struct Entry {
|
struct Entry {
|
||||||
Symbol &sym;
|
Symbol &sym;
|
||||||
i64 dylib_idx;
|
i64 dylib_idx;
|
||||||
i64 flags;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<Entry> entries;
|
std::vector<Entry> entries;
|
||||||
|
@ -625,11 +625,11 @@ StubsSection::StubsSection() {
|
|||||||
hdr.reserved2 = 6;
|
hdr.reserved2 = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StubsSection::add(Context &ctx, Symbol &sym, i64 dylib_idx, i64 flags) {
|
void StubsSection::add(Context &ctx, Symbol &sym, i64 dylib_idx) {
|
||||||
assert(sym.stub_idx == -1);
|
assert(sym.stub_idx == -1);
|
||||||
sym.stub_idx = entries.size();
|
sym.stub_idx = entries.size();
|
||||||
|
|
||||||
entries.push_back({sym, dylib_idx, flags});
|
entries.push_back({sym, dylib_idx});
|
||||||
|
|
||||||
i64 nsyms = entries.size();
|
i64 nsyms = entries.size();
|
||||||
ctx.stubs.hdr.size = nsyms * StubsSection::ENTRY_SIZE;
|
ctx.stubs.hdr.size = nsyms * StubsSection::ENTRY_SIZE;
|
||||||
|
Loading…
Reference in New Issue
Block a user