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(-) -- 2.52.0
