[all-commits] [llvm/llvm-project] 8b4902: [Compiler-rt][test] Fix circular link dependency b...

Garvit Gupta via All-commits all-commits at lists.llvm.org
Tue Jun 9 01:42:50 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8b4902300521d4a0980d9d35210c02b405f0df86
      https://github.com/llvm/llvm-project/commit/8b4902300521d4a0980d9d35210c02b405f0df86
  Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
  Date:   2026-06-09 (Tue, 09 Jun 2026)

  Changed paths:
    M compiler-rt/test/builtins/Unit/lit.cfg.py

  Log Message:
  -----------
  [Compiler-rt][test] Fix circular link dependency between builtins and libc (#199482)

Currently, the link order is `libclang_rt.builtins.a -lc -lm`. Builtins
are scanned first after which symbols like `abort` are unresolved
references that are resolved through libc.a. However, resolving the
references to these symbols further lead to undefined references to
`_aeabi_uldivmod` etc. that can only resolved through builtins.
Reversing the order also wont fix the issue because `libc.a` introduces
`__aeabi_uldivmod` which is resolved by builtins but it introduces
`abort` which can only be resolved libc.a.

This patch fixes this by wrapping the archives in a linker group
(--start-group/--end-group), which instructs the linker to rescan all
archives in the group until no new symbols can be resolved.

This error is exposed only when bfd like linkers are used.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list