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 > > >
