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

Alan Modra <[email protected]>
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
On Tue, Aug 11, 2026 at 03:09:33PM +0800, mengqinggang wrote:
> Hi Alan,
> Could you please take a look at this patch?
> Any feedback is welcome.
> Thanks.

I'm a little concerned about dwarf2dbg_convert_frag, whether the
second DWARF2_USE_FIXED_ADVANCE_PC invocation is valid.  If the first
one is true, fr_symbol shouldn't be modified so the second one will
be OK and give the same result, but if the first is false then
resolve_symbol_value may modify fr_symbol in a way that it is no
longer valid to pass the old X_add_symbol and X_op_symbol to
DWARF2_USE_FIXED_ADVANCE_PC.  I haven't done a deep enough dive into
the code to see all possible expressions that might appear here so my
concern might be unfounded, but it doesn't look robust to me.

I think the correct thing to do here is to delete the first
DWARF2_USE_FIXED_ADVANCE_PC and always call resolve_symbol_value with
finalize_syms zero.

The only other thing about your patch is that in
dwarf2dbg_convert_frag and dwarf2dbg_estimate_size_before_relax we now
get two unnecessary calls to symbol_get_value_expression for every
target other than loongarch.  If symbol_get_value_expression was
__attribute__ ((__const__)) everything would be good.

-- 
Alan Modra
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.