PR30308, infinite recursion in i386_intel_simplify

Jan Beulich jbeulich@suse.com
Thu Feb 15 09:23:16 GMT 2024


On 15.02.2024 02:28, Alan Modra wrote:
> This patch exposes the symbol "resolving" flag for use in
> i386_intel_simplify, not only preventing infinite recursion on the
> testcase in the PR but also more complicated cases like:
> 
>  .intel_syntax
>  b = a
>  a = b
>  mov eax, [a]

Thanks for addressing this. I wonder though: Wouldn't such circular
equates better be rejected when they're created?

> +/* Return whether a symbol is being resolved.  */
> +
> +int
> +symbol_resolving_p (symbolS *s)
> +{
> +  return s->flags.resolving;
> +}

Mind me asking that such predicate (and alike) functions, when introduced
anew, take pointer-to-const right away?

Jan


More information about the Binutils mailing list