From aed5cfea58eaa66417e21fdbe49e891ced374ed9 Mon Sep 17 00:00:00 2001 From: Charles Crayne Date: Tue, 4 Mar 2008 14:25:34 -0800 Subject: [PATCH] Adjust symbol number for global symbols Reloc entries were pointing to wrong target section --- output/outelf32.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/output/outelf32.c b/output/outelf32.c index a11b0b2..6ba3169 100644 --- a/output/outelf32.c +++ b/output/outelf32.c @@ -1414,7 +1414,11 @@ static struct SAA *elf_build_reltab(int32_t *len, struct Reloc *r) int32_t sym = r->symbol; if (sym >= GLOBAL_TEMP_BASE) - sym += -GLOBAL_TEMP_BASE + (nsects + 2) + nlocals; + { + if (of_elf32.current_dfmt == &df_dwarf) + sym += -GLOBAL_TEMP_BASE + (nsects + 5) + nlocals; + else sym += -GLOBAL_TEMP_BASE + (nsects + 2) + nlocals; + } p = entry; WRITELONG(p, r->address); -- 2.7.4