Re: [RFC PATCH] LoongArch: Add parameters to DWARF2_USE_FIXED_ADVANCE_PC macro

mengqinggang <[email protected]>
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
Hi Alan,
Could you please take a look at this patch?
Any feedback is welcome.
Thanks.


在 2026/8/3 10:49, mengqinggang 写道:
> Gentle ping!
>
>
> 在 2026/7/22 11:23, mengqinggang 写道:
>> 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*-*-*]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.