• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

Revision3730a015c05cde8d151f94bef20e43ea2bf96ccc (tree)
Zeit2020-05-18 17:19:31
AutorAlan Modra <amodra@gmai...>
CommiterAlan Modra

Log Message

Re: Fix tight loop on recursively-defined symbols

sy_resolving ought to not be set for a struct local_symbol, but it is
apparent from local_symbol_make that the field is not initialised.

* symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
before looking at add_symbol->sy_flags.sy_resolving.

(cherry picked from commit d402189f2faa0aaa9fb8ad4669fdf0059946cd8a)

Ändern Zusammenfassung

Diff

--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
1+2020-05-18 Alan Modra <amodra@gmail.com>
2+
3+ * symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
4+ before looking at add_symbol->sy_flags.
5+
16 2020-05-15 Alan Modra <amodra@gmail.com>
27 Alex Coplan <alex.coplan@arm.com>
38
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -1387,6 +1387,7 @@ resolve_symbol_value (symbolS *symp)
13871387
13881388 /* Don't leave symbol loops. */
13891389 if (finalize_syms
1390+ && !LOCAL_SYMBOL_CHECK (add_symbol)
13901391 && add_symbol->sy_flags.sy_resolving)
13911392 break;
13921393