On Tue, Feb 24, 2026 at 1:32 PM Philippe Mathieu-Daudé <[email protected]>
wrote:

> TCG helpers are declared using the DEF_HELPER*() macros
> which imply global symbol scope. Unfortunately when building
> a single binary (containing multiple TCG 'target' frontends)
> these symbols clash.
>
> This series takes the dumbest approach, renaming the symbols.
>
> There are still around 20 symbol clashes (usually FPU helpers),
> but this series is good for my proof-of-concept.
>
> Philippe Mathieu-Daudé (5):
>   target/tcg: Rename bitswap() helpers
>   target/tcg: Rename crc32*() helpers
>   target/tcg: Rename unaligned_access() helpers
>   target/tcg: Rename raise_exception() helpers
>   target/tcg: Rename set_rounding_mode() helpers
>
>  target/arm/tcg/helper-a64-defs.h                 |  2 +-
>  target/arm/tcg/helper-defs.h                     |  4 ++--
>  target/hexagon/gen_tcg.h                         |  2 +-
>  target/hexagon/helper.h                          |  2 +-
>  target/i386/helper.h                             |  2 +-
>  target/i386/ops_sse.h                            |  2 +-
>  target/loongarch/tcg/helper.h                    |  8 ++++----
>  target/m68k/helper.h                             |  2 +-
>  target/microblaze/helper.h                       |  4 ++--
>  target/mips/helper.h                             |  6 +++---
>  target/ppc/helper.h                              |  2 +-
>  target/riscv/helper.h                            |  2 +-
>  target/sparc/helper.h                            |  2 +-
>  target/i386/tcg/ops_sse_header.h.inc             |  2 +-
>  target/arm/tcg/arith_helper.c                    |  4 ++--
>  target/arm/tcg/helper-a64.c                      |  4 ++--
>  target/arm/tcg/translate-a64.c                   |  4 ++--
>  target/arm/tcg/translate.c                       |  4 ++--
>  target/hexagon/op_helper.c                       |  2 +-
>  target/hexagon/translate.c                       |  2 +-
>  target/i386/tcg/excp_helper.c                    |  2 +-
>  target/i386/tcg/translate.c                      |  2 +-
>  target/loongarch/tcg/fpu_helper.c                |  2 +-
>  target/loongarch/tcg/op_helper.c                 |  6 +++---
>  target/m68k/op_helper.c                          |  2 +-
>  target/m68k/translate.c                          |  2 +-
>  target/microblaze/helper.c                       |  2 +-
>  target/microblaze/op_helper.c                    |  2 +-
>  target/microblaze/translate.c                    |  4 ++--
>  target/mips/tcg/op_helper.c                      |  6 +++---
>  target/mips/tcg/translate.c                      |  6 +++---
>  target/ppc/tcg-excp_helper.c                     |  2 +-
>  target/ppc/translate.c                           |  6 +++---
>  target/riscv/fpu_helper.c                        |  2 +-
>  target/riscv/translate.c                         |  2 +-
>  target/sparc/helper.c                            |  2 +-
>  target/sparc/translate.c                         |  6 +++---
>  target/i386/tcg/emit.c.inc                       |  2 +-
>  target/loongarch/tcg/insn_trans/trans_bit.c.inc  |  4 ++--
>  .../loongarch/tcg/insn_trans/trans_extra.c.inc   | 16 ++++++++--------
>  target/loongarch/tcg/insn_trans/trans_fmov.c.inc |  2 +-
>  41 files changed, 71 insertions(+), 71 deletions(-)
>
>
For hexagon - those renames seem fine/appropriate.

Reviewed-by: Brian Cain <[email protected]>



> --
> 2.52.0
>
>
>

Reply via email to