diff --git a/output/outelf.c b/output/outelf.c index a69df264..c02f452e 100644 --- a/output/outelf.c +++ b/output/outelf.c @@ -3268,7 +3268,7 @@ static void dwarf_generate(void) saa_write32(pinforel, pinfo->datalen + 4); saa_write32(pinforel, ((dwarf_fsect->section + 2) << 8) + R_386_32); saa_write32(pinfo,0); /* DW_AT_low_pc */ - saa_write32(pinfo,0); /* DW_AT_frame_base */ + saa_write8(pinfo,0); /* DW_AT_frame_base */ saa_write8(pinfo,0); /* end of entries */ saalen = pinfo->datalen; infolen = saalen + 4; @@ -3308,7 +3308,7 @@ static void dwarf_generate(void) saa_write32(pinforel, ((dwarf_fsect->section + 2) << 8) + R_X86_64_32); saa_write32(pinforel, 0); saa_write32(pinfo,0); /* DW_AT_low_pc */ - saa_write32(pinfo,0); /* DW_AT_frame_base */ + saa_write8(pinfo,0); /* DW_AT_frame_base */ saa_write8(pinfo,0); /* end of entries */ saalen = pinfo->datalen; infolen = saalen + 4; @@ -3349,7 +3349,7 @@ static void dwarf_generate(void) saa_write64(pinforel, ((uint64_t)(dwarf_fsect->section + 2) << 32) + R_X86_64_64); saa_write64(pinforel, 0); saa_write64(pinfo,0); /* DW_AT_low_pc */ - saa_write64(pinfo,0); /* DW_AT_frame_base */ + saa_write8(pinfo,0); /* DW_AT_frame_base */ saa_write8(pinfo,0); /* end of entries */ saalen = pinfo->datalen; infolen = saalen + 4; @@ -3393,7 +3393,7 @@ static void dwarf_generate(void) saa_write8(pabbrev,DW_AT_low_pc); saa_write8(pabbrev,DW_FORM_addr); saa_write8(pabbrev,DW_AT_frame_base); - saa_write8(pabbrev,DW_FORM_data4); + saa_write8(pabbrev,DW_FORM_exprloc); saa_write16(pabbrev,0); /* end of entry */ /* Terminal zero entry */ saa_write8(pabbrev,0);