From patchwork Wed Jul 22 03:23:30 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: mengqinggang X-Patchwork-Id: 139672 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DB5ED4BA2E0B for ; Wed, 22 Jul 2026 03:26:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB5ED4BA2E0B X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 2D9064BA2E08 for ; Wed, 22 Jul 2026 03:25:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2D9064BA2E08 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2D9064BA2E08 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784690729; cv=none; b=QL8OXkM0cR027loDRGpbznf8TqRj2a796LcOu6i4MkrAg+/yZIR/ApVgI5vf4DlAzr2YiSAycAOsNR+K2Vx3QwM0bfD+s5mHJF982eEqlkBMBHUA5+e6wm7wkthY5HLUs4vy088MjhIyT5DbUW/ZZpusXdv6aq+GllsRTMKAl2A= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784690729; c=relaxed/simple; bh=6XjGWRDHKM6kSkDlUm6pbnO8wMM+22eOHVmMFSVoZMI=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=LtwkTYcJB/pGd6EG6hm3E8Ieae3c9weCZkALrrToIl290+iqH4xCoPXo9GN7rrzR6Ua9/xvrwxGc2xMvo2gb3WeJptnEZ1Ucx8Fj0V45HaA2rxWz9TT+OfW27iTmKRLbZo0RS66Q9iUYwHNCU+CvD3tjLpH+fvQ0f52oqgHWD+g= ARC-Authentication-Results: i=1; sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2D9064BA2E08 Received: from loongson.cn (unknown [10.2.6.7]) by gateway (Coremail) with SMTP id _____8Dx8+kZOGBq3N8FAA--.13691S3; Wed, 22 Jul 2026 11:25:14 +0800 (CST) Received: from amd9754.. (unknown [10.2.6.7]) by front1 (Coremail) with SMTP id qMiowJBxHcUYOGBqR7AUAA--.22022S2; Wed, 22 Jul 2026 11:25:12 +0800 (CST) From: mengqinggang To: binutils@sourceware.org Cc: xuchenghua@loongson.cn, zhaozhou@loongson.cn, xry111@xry111.site, i.swmail@xen0n.name, luweining@loongson.cn, mengqinggang@loongson.cn Subject: [RFC PATCH] LoongArch: Add parameters to DWARF2_USE_FIXED_ADVANCE_PC macro Date: Wed, 22 Jul 2026 11:23:30 +0800 Message-Id: <20260722032330.1310277-1-mengqinggang@loongson.cn> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CM-TRANSID: qMiowJBxHcUYOGBqR7AUAA--.22022S2 X-CM-SenderInfo: 5phqw15lqjwttqj6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx nUUI43ZEXa7xR_UUUUUUUUU== X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org If DWARF2_USE_FIXED_ADVANCE_PC is nonzero, use the DW_LNS_fixed_advance_pc opcode; otherwise, use special opcodes. Add FROM symbol and TO symbol parameters for finer-grained control. Use special opcodes when no linker-relaxable instructions between two symbols; otherwise, use DW_LNS_fixed_advance_pc opcodes. --- gas/config/tc-h8300.h | 2 +- gas/config/tc-loongarch.c | 13 +++++++++++ gas/config/tc-loongarch.h | 4 +++- gas/config/tc-msp430.h | 2 +- gas/config/tc-nds32.h | 2 +- gas/config/tc-riscv.h | 2 +- gas/config/tc-rl78.h | 2 +- gas/config/tc-xtensa.h | 2 +- gas/dwarf2dbg.c | 23 +++++++++++++------ gas/testsuite/gas/elf/dwarf-5-irp.d | 3 +-- gas/testsuite/gas/elf/dwarf-5-loc0.d | 3 +-- gas/testsuite/gas/elf/dwarf-5-macro-include.d | 2 +- gas/testsuite/gas/elf/dwarf-5-macro.d | 2 +- gas/testsuite/gas/elf/dwarf2-11.d | 3 +-- gas/testsuite/gas/elf/dwarf2-15.d | 3 +-- gas/testsuite/gas/elf/dwarf2-16.d | 3 +-- gas/testsuite/gas/elf/dwarf2-17.d | 3 +-- gas/testsuite/gas/elf/dwarf2-18.d | 3 +-- gas/testsuite/gas/elf/dwarf2-19.d | 3 +-- gas/testsuite/gas/elf/dwarf2-5.d | 3 +-- gas/testsuite/gas/lns/lns.exp | 1 - 21 files changed, 49 insertions(+), 35 deletions(-) diff --git a/gas/config/tc-h8300.h b/gas/config/tc-h8300.h index c4689d37b12..66664553a24 100644 --- a/gas/config/tc-h8300.h +++ b/gas/config/tc-h8300.h @@ -46,7 +46,7 @@ struct internal_reloc; /* Minimum instruction is of 16 bits. */ #define DWARF2_LINE_MIN_INSN_LENGTH 2 -#define DWARF2_USE_FIXED_ADVANCE_PC 0 +#define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) 0 /* Provide mappings from the original H8 COFF relocation names to their corresponding BFD relocation names. */ diff --git a/gas/config/tc-loongarch.c b/gas/config/tc-loongarch.c index bd7d8dabb7a..7cb16d5dcf1 100644 --- a/gas/config/tc-loongarch.c +++ b/gas/config/tc-loongarch.c @@ -1644,6 +1644,19 @@ _loongarch_force_relocation_sub_same (segT sec, return true; } +/* Use DW_LNS_fixed_advance_pc opcode in .debug_line if return ture, + otherwise use special opcode. */ +bool +loongarch_fixed_advance_pc (symbolS *from, symbolS *to) +{ + segT fromsec = S_GET_SEGMENT (from); + segT tosec = S_GET_SEGMENT (to); + if (fromsec != tosec) + return false; + fragS *fromfrag = symbol_get_frag (from); + fragS *tofrag = symbol_get_frag (to); + return _loongarch_force_relocation_sub_same (fromsec, fromfrag, tofrag); +} /* Postpone text-section label subtraction calculation until linking, since linker relaxations might change the deltas. */ diff --git a/gas/config/tc-loongarch.h b/gas/config/tc-loongarch.h index 146844e772e..32fbc23d679 100644 --- a/gas/config/tc-loongarch.h +++ b/gas/config/tc-loongarch.h @@ -102,7 +102,9 @@ extern bool loongarch_force_relocation_sub_same(struct fix *, asection *); #define TARGET_USE_CFIPOP 1 /* Adjust debug_line after relaxation. */ -#define DWARF2_USE_FIXED_ADVANCE_PC 1 +extern bool loongarch_fixed_advance_pc (symbolS *, symbolS *); +#define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) \ + loongarch_fixed_advance_pc (FROM, TO) /* FDE Data Alignment Factor. FDE Code Alignment Factor (DWARF2_LINE_MIN_INSN_LENGTH) should be 1 diff --git a/gas/config/tc-msp430.h b/gas/config/tc-msp430.h index fe202abc713..f9b6c1e588c 100644 --- a/gas/config/tc-msp430.h +++ b/gas/config/tc-msp430.h @@ -168,7 +168,7 @@ extern bool msp430_allow_local_subtract (expressionS *, expressionS *, segT); so don't report errors at this point. */ #define TC_VALIDATE_FIX_SUB(FIX, SEG) 1 -#define DWARF2_USE_FIXED_ADVANCE_PC 1 +#define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) 1 #define TC_LINKRELAX_FIXUP(seg) ((seg->flags & SEC_CODE) || (seg->flags & SEC_DEBUGGING)) diff --git a/gas/config/tc-nds32.h b/gas/config/tc-nds32.h index 432d46d9fb1..49a1bead095 100644 --- a/gas/config/tc-nds32.h +++ b/gas/config/tc-nds32.h @@ -77,7 +77,7 @@ extern bool nds32_allow_local_subtract (expressionS *, expressionS *, segT); #define md_allow_local_subtract(lhs,rhs,sect) nds32_allow_local_subtract (lhs, rhs, sect) /* dwarf2dbg.c. */ -#define DWARF2_USE_FIXED_ADVANCE_PC 1 +#define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) 1 /* write.c. */ extern long nds32_pcrel_from_section (struct fix *, segT); diff --git a/gas/config/tc-riscv.h b/gas/config/tc-riscv.h index d695db83477..7518d2a70f7 100644 --- a/gas/config/tc-riscv.h +++ b/gas/config/tc-riscv.h @@ -135,7 +135,7 @@ extern void riscv_elf_section_change_hook (void); extern void riscv_elf_final_processing (void); /* Adjust debug_line after relaxation. */ -#define DWARF2_USE_FIXED_ADVANCE_PC 1 +#define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) 1 #define md_parse_name(name, exp, mode, c) \ riscv_parse_name (name, exp, mode) diff --git a/gas/config/tc-rl78.h b/gas/config/tc-rl78.h index 9761d509aa1..fb54a2e8da7 100644 --- a/gas/config/tc-rl78.h +++ b/gas/config/tc-rl78.h @@ -94,6 +94,6 @@ extern void rl78_elf_final_processing (void); || ((SEC)->flags & SEC_DEBUGGING) != 0 \ || TC_FORCE_RELOCATION (FIX)) -#define DWARF2_USE_FIXED_ADVANCE_PC 1 +#define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) 1 #define TC_FORCE_RELOCATION(FIX) (linkrelax) diff --git a/gas/config/tc-xtensa.h b/gas/config/tc-xtensa.h index 64d735144d7..d6ddac738fe 100644 --- a/gas/config/tc-xtensa.h +++ b/gas/config/tc-xtensa.h @@ -419,7 +419,7 @@ extern void xtensa_init (int, char **); #define SUB_SEGMENT_ALIGN(SEG, FRCHAIN) 0 /* Use line number format that is amenable to linker relaxation. */ -#define DWARF2_USE_FIXED_ADVANCE_PC (linkrelax != 0) +#define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) (linkrelax != 0) /* Resource reservation info functions. */ diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c index a1ceab4e428..04a30a606d7 100644 --- a/gas/dwarf2dbg.c +++ b/gas/dwarf2dbg.c @@ -112,7 +112,7 @@ opcodes and variable-length operands cannot be used. If this macro is nonzero, use the DW_LNS_fixed_advance_pc opcode instead. */ #ifndef DWARF2_USE_FIXED_ADVANCE_PC -# define DWARF2_USE_FIXED_ADVANCE_PC linkrelax +# define DWARF2_USE_FIXED_ADVANCE_PC(FROM, TO) linkrelax #endif /* First special line opcode - leave room for the standard opcodes. @@ -1898,7 +1898,7 @@ relax_inc_line_addr (int line_delta, symbolS *to_sym, symbolS *from_sym) /* The maximum size of the frag is the line delta with a maximum sized address delta. */ - if (DWARF2_USE_FIXED_ADVANCE_PC) + if (DWARF2_USE_FIXED_ADVANCE_PC (from_sym, to_sym)) max_chars = size_fixed_inc_line_addr (line_delta, -DWARF2_LINE_MIN_INSN_LENGTH); else @@ -1919,7 +1919,11 @@ dwarf2dbg_estimate_size_before_relax (fragS *frag) int size; addr_delta = resolve_symbol_value (frag->fr_symbol); - if (DWARF2_USE_FIXED_ADVANCE_PC) + symbolS *from = symbol_get_value_expression (frag->fr_symbol)->X_op_symbol; + symbolS *to = symbol_get_value_expression (frag->fr_symbol)->X_add_symbol; + (void)from; + (void)to; + if (DWARF2_USE_FIXED_ADVANCE_PC (from, to)) size = size_fixed_inc_line_addr (frag->fr_offset, addr_delta); else size = size_inc_line_addr (frag->fr_offset, addr_delta); @@ -1953,7 +1957,11 @@ dwarf2dbg_convert_frag (fragS *frag) { offsetT addr_diff; - if (DWARF2_USE_FIXED_ADVANCE_PC) + symbolS *from = symbol_get_value_expression (frag->fr_symbol)->X_op_symbol; + symbolS *to = symbol_get_value_expression (frag->fr_symbol)->X_add_symbol; + (void)from; + (void)to; + if (DWARF2_USE_FIXED_ADVANCE_PC (from, to)) { /* If linker relaxation is enabled then the distance between the two symbols in the frag->fr_symbol expression might change. Hence we @@ -1977,7 +1985,7 @@ dwarf2dbg_convert_frag (fragS *frag) course, have allocated enough memory earlier. */ gas_assert (frag->fr_var >= (int) frag->fr_subtype); - if (DWARF2_USE_FIXED_ADVANCE_PC) + if (DWARF2_USE_FIXED_ADVANCE_PC (from, to)) emit_fixed_inc_line_addr (frag->fr_offset, addr_diff, frag, frag->fr_literal + frag->fr_fix, frag->fr_subtype); @@ -2110,7 +2118,8 @@ process_entries (segT seg, struct line_entry *e) out_set_addr (lab); out_inc_line_addr (line_delta, 0); } - else if (frag == last_frag && ! DWARF2_USE_FIXED_ADVANCE_PC) + else if (frag == last_frag + && ! DWARF2_USE_FIXED_ADVANCE_PC (last_lab, lab)) out_inc_line_addr (line_delta, frag_ofs - last_frag_ofs); else relax_inc_line_addr (line_delta, lab, last_lab); @@ -2127,7 +2136,7 @@ process_entries (segT seg, struct line_entry *e) /* Emit a DW_LNE_end_sequence for the end of the section. */ frag = last_frag_for_seg (seg); frag_ofs = get_frag_fix (frag, seg); - if (frag == last_frag && ! DWARF2_USE_FIXED_ADVANCE_PC) + if (frag == last_frag && ! DWARF2_USE_FIXED_ADVANCE_PC (last_lab, lab)) out_inc_line_addr (INT_MAX, frag_ofs - last_frag_ofs); else { diff --git a/gas/testsuite/gas/elf/dwarf-5-irp.d b/gas/testsuite/gas/elf/dwarf-5-irp.d index a4f01355db3..781b2a32aaa 100644 --- a/gas/testsuite/gas/elf/dwarf-5-irp.d +++ b/gas/testsuite/gas/elf/dwarf-5-irp.d @@ -5,8 +5,7 @@ # The bfin target does not allow .subsection with an equated symbol as operand. # The d30v target emits sufficiently different debug info, apparently also covering padding it inserts. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am33*-* bfin-* cr16-* crx-* d30v-* ft32-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am33*-* bfin-* cr16-* crx-* d30v-* ft32-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Raw dump of debug contents .* #... diff --git a/gas/testsuite/gas/elf/dwarf-5-loc0.d b/gas/testsuite/gas/elf/dwarf-5-loc0.d index 9338271c0eb..9439d103b1f 100644 --- a/gas/testsuite/gas/elf/dwarf-5-loc0.d +++ b/gas/testsuite/gas/elf/dwarf-5-loc0.d @@ -3,8 +3,7 @@ #name: DWARF5 .loc 0 # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Contents of the \.debug_line section: diff --git a/gas/testsuite/gas/elf/dwarf-5-macro-include.d b/gas/testsuite/gas/elf/dwarf-5-macro-include.d index c39425aa8c9..32ea6386992 100644 --- a/gas/testsuite/gas/elf/dwarf-5-macro-include.d +++ b/gas/testsuite/gas/elf/dwarf-5-macro-include.d @@ -4,7 +4,7 @@ # The am33 cr16 crx ft32 mn10* msp430 nds32* and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The d30v target emits sufficiently different debug info, apparently also covering padding it inserts. # The riscv targets do not support the subtraction of symbols. -#xfail: am33*-* cr16-* crx-* d30v-* ft32-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am33*-* cr16-* crx-* d30v-* ft32-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Raw dump of debug contents .* #... diff --git a/gas/testsuite/gas/elf/dwarf-5-macro.d b/gas/testsuite/gas/elf/dwarf-5-macro.d index b2613bd1c16..794e17a575e 100644 --- a/gas/testsuite/gas/elf/dwarf-5-macro.d +++ b/gas/testsuite/gas/elf/dwarf-5-macro.d @@ -4,7 +4,7 @@ # The am33 cr16 crx ft32 mn10* msp430 nds32* and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The d30v target emits sufficiently different debug info, apparently also covering padding it inserts. # The riscv targets do not support the subtraction of symbols. -#xfail: am33*-* cr16-* crx-* d30v-* ft32-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am33*-* cr16-* crx-* d30v-* ft32-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Raw dump of debug contents .* #... diff --git a/gas/testsuite/gas/elf/dwarf2-11.d b/gas/testsuite/gas/elf/dwarf2-11.d index 44f5cd18ec6..2c30e55c695 100644 --- a/gas/testsuite/gas/elf/dwarf2-11.d +++ b/gas/testsuite/gas/elf/dwarf2-11.d @@ -3,8 +3,7 @@ #name: DWARF2 11 # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Contents of the \.debug_line section: diff --git a/gas/testsuite/gas/elf/dwarf2-15.d b/gas/testsuite/gas/elf/dwarf2-15.d index 3ec9f2785a7..939c61598cb 100644 --- a/gas/testsuite/gas/elf/dwarf2-15.d +++ b/gas/testsuite/gas/elf/dwarf2-15.d @@ -3,8 +3,7 @@ #name: DWARF2 15 # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Hex dump of section '\.rodata': 0x00000000 01 *.* diff --git a/gas/testsuite/gas/elf/dwarf2-16.d b/gas/testsuite/gas/elf/dwarf2-16.d index 32b57763137..8e35d493619 100644 --- a/gas/testsuite/gas/elf/dwarf2-16.d +++ b/gas/testsuite/gas/elf/dwarf2-16.d @@ -4,8 +4,7 @@ # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The mep target tries to relay code sections which breaks symbolic view computations. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* mep-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mep-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Hex dump of section '\.rodata': 0x00000000 01 *.* diff --git a/gas/testsuite/gas/elf/dwarf2-17.d b/gas/testsuite/gas/elf/dwarf2-17.d index 4c2f2e3999e..881477cf95b 100644 --- a/gas/testsuite/gas/elf/dwarf2-17.d +++ b/gas/testsuite/gas/elf/dwarf2-17.d @@ -4,8 +4,7 @@ # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The mep target tries to relay code sections which breaks symbolic view computations. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* loongarch*-* mep-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mep-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Hex dump of section '\.rodata': 0x00000000 00 *.* diff --git a/gas/testsuite/gas/elf/dwarf2-18.d b/gas/testsuite/gas/elf/dwarf2-18.d index 18157c634a5..fbaebaa9019 100644 --- a/gas/testsuite/gas/elf/dwarf2-18.d +++ b/gas/testsuite/gas/elf/dwarf2-18.d @@ -3,8 +3,7 @@ #name: DWARF2 18 # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Hex dump of section '\.rodata': 0x00000000 0100 *.* diff --git a/gas/testsuite/gas/elf/dwarf2-19.d b/gas/testsuite/gas/elf/dwarf2-19.d index 133294affe7..55d0caf4cb1 100644 --- a/gas/testsuite/gas/elf/dwarf2-19.d +++ b/gas/testsuite/gas/elf/dwarf2-19.d @@ -4,8 +4,7 @@ # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The mep targets turns some view computations into complex relocations. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* mep-* loongarch*-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mep-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Hex dump of section '\.rodata': 0x00000000 01000102 *.* diff --git a/gas/testsuite/gas/elf/dwarf2-5.d b/gas/testsuite/gas/elf/dwarf2-5.d index 1dd65732c50..bf1eeb5bbfd 100644 --- a/gas/testsuite/gas/elf/dwarf2-5.d +++ b/gas/testsuite/gas/elf/dwarf2-5.d @@ -4,8 +4,7 @@ # The am33 cr16 crx ft32 mn10 msp430 nds32 and rl78 targets do not evaluate the subtraction of symbols at assembly time. # The mep target tries to relay code sections which breaks symbolic view computations. # The riscv targets do not support the subtraction of symbols. -# The loongarch targets do not support the subtraction of symbols. -#xfail: am3*-* cr16-* crx-* ft32*-* loongarch*-* mep-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* +#xfail: am3*-* cr16-* crx-* ft32*-* mep-* mn10*-* msp430-* nds32*-* riscv*-* rl78-* Hex dump of section '\.rodata': 0x00000000 01010201 010203 *.* diff --git a/gas/testsuite/gas/lns/lns.exp b/gas/testsuite/gas/lns/lns.exp index 7a92c54a260..58c2235b628 100644 --- a/gas/testsuite/gas/lns/lns.exp +++ b/gas/testsuite/gas/lns/lns.exp @@ -31,7 +31,6 @@ if { ![istarget s390*-*-*] } { || [istarget cr16-*-*] || [istarget crx-*-*] || [istarget ft32*-*] - || [istarget loongarch*-*-*] || [istarget mn10*-*-*] || [istarget msp430-*-*] || [istarget nds32*-*-*]