On 2/24/26 11:30 AM, Philippe Mathieu-Daudé 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(-)
It seems to be the best and easiest way to deal with it.
Reviewed-by: Pierrick Bouvier <[email protected]>