diff options
author | liuzhensong <liuzhensong@loongson.cn> | 2022-03-20 09:19:55 +0800 |
---|---|---|
committer | liuzhensong <liuzhensong@loongson.cn> | 2022-03-20 09:37:12 +0800 |
commit | 1848a40fdd134c5579e743d93f1ca9acc0b4b486 (patch) | |
tree | 1a8651dc68c094c657ffecd126299558261b21cb /gas | |
parent | 5fb13d7ef45088d8c2b89a3b4b22c36a0e3a5715 (diff) | |
download | gdb-1848a40fdd134c5579e743d93f1ca9acc0b4b486.zip gdb-1848a40fdd134c5579e743d93f1ca9acc0b4b486.tar.gz gdb-1848a40fdd134c5579e743d93f1ca9acc0b4b486.tar.bz2 |
gas:LoongArch: Fix wrong line number in .debug_line
The dwarf2_emit_insn() can create debuginfo of line. But it is called
too late in append_fixp_and_insn. It causes extra offs when debuginfo
of line sets address.
gas/config/
* tc-loongarch.c
Diffstat (limited to 'gas')
-rw-r--r-- | gas/config/tc-loongarch.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gas/config/tc-loongarch.c b/gas/config/tc-loongarch.c index d7ab155..3f7aa99 100644 --- a/gas/config/tc-loongarch.c +++ b/gas/config/tc-loongarch.c @@ -877,6 +877,8 @@ append_fixp_and_insn (struct loongarch_cl_insn *ip) struct reloc_info *reloc_info = ip->reloc_info; size_t i; + dwarf2_emit_insn (0); + for (i = 0; i < ip->reloc_num; i++) { reloc_type = reloc_info[i].type; @@ -893,8 +895,6 @@ append_fixp_and_insn (struct loongarch_cl_insn *ip) as_fatal (_("Internal error: not support relax now")); else append_fixed_insn (ip); - - dwarf2_emit_insn (0); } /* Ask helper for returning a malloced c_str or NULL. */ |