to following locations in case there is no intermediate label.
* dwarf64_2loc.asm: Test for this.
svn path=/trunk/yasm/; revision=1354
/*@null@*/ dwarf2_section_data *dsd;
/*@null@*/ dwarf2_loc *loc;
/*@null@*/ yasm_bytecode *precbc = NULL, *bc;
+ /*@dependent@*/ yasm_symrec *lastsym = NULL;
unsigned long addr_delta;
/* registers for state machine for each sequence */
if (bc->symrecs) {
int i = 0;
while (bc->symrecs[i]) {
- loc->sym = bc->symrecs[i];
+ lastsym = bc->symrecs[i];
i++;
}
}
bc = yasm_bc__next(bc);
}
+ loc->sym = lastsym;
loc->bc = bc;
}
TESTS += modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh
EXTRA_DIST += modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh
+EXTRA_DIST += modules/dbgfmts/dwarf2/tests/pass64/dwarf64_2loc.asm
+EXTRA_DIST += modules/dbgfmts/dwarf2/tests/pass64/dwarf64_2loc.errwarn
+EXTRA_DIST += modules/dbgfmts/dwarf2/tests/pass64/dwarf64_2loc.hex
EXTRA_DIST += modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.asm
EXTRA_DIST += modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.errwarn
EXTRA_DIST += modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.hex
--- /dev/null
+.file 1 "dwarf64_2loc.c"
+
+.text
+.loc 1 1 0
+.loc 1 2 0
+ xorq %rax, %rax
--- /dev/null
+7f
+45
+4c
+46
+02
+01
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+3e
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+30
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+00
+00
+40
+00
+07
+00
+01
+00
+48
+31
+c0
+3c
+00
+00
+00
+02
+00
+25
+00
+00
+00
+01
+01
+fb
+0e
+0d
+00
+01
+01
+01
+01
+00
+00
+00
+01
+00
+00
+01
+00
+64
+77
+61
+72
+66
+36
+34
+5f
+32
+6c
+6f
+63
+2e
+63
+00
+00
+00
+00
+00
+00
+09
+02
+00
+00
+00
+00
+00
+00
+00
+00
+13
+02
+03
+00
+01
+01
+00
+32
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+2e
+74
+65
+78
+74
+00
+2e
+64
+65
+62
+75
+67
+5f
+6c
+69
+6e
+65
+00
+2e
+72
+65
+6c
+61
+2e
+64
+65
+62
+75
+67
+5f
+6c
+69
+6e
+65
+00
+2e
+73
+74
+72
+74
+61
+62
+00
+2e
+73
+79
+6d
+74
+61
+62
+00
+2e
+73
+68
+73
+74
+72
+74
+61
+62
+00
+00
+00
+00
+2d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+04
+00
+f1
+ff
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+03
+00
+04
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+34
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+9c
+00
+00
+00
+00
+00
+00
+00
+3e
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+24
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+dc
+00
+00
+00
+00
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+2c
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+e0
+00
+00
+00
+00
+00
+00
+00
+48
+00
+00
+00
+00
+00
+00
+00
+02
+00
+00
+00
+03
+00
+00
+00
+08
+00
+00
+00
+00
+00
+00
+00
+18
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+01
+00
+00
+00
+06
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+00
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+07
+00
+00
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+43
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+13
+00
+00
+00
+04
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+84
+00
+00
+00
+00
+00
+00
+00
+18
+00
+00
+00
+00
+00
+00
+00
+03
+00
+00
+00
+05
+00
+00
+00
+08
+00
+00
+00
+00
+00
+00
+00
+18
+00
+00
+00
+00
+00
+00
+00