[PATCH 0/9] treewide: uniquify colliding helper symbols

Yonggang Luo posted 9 patches 7 hours ago
hw/arm/virt-acpi-build.c                      |  4 +-
hw/arm/virt.c                                 | 12 +++---
hw/loongarch/virt-acpi-build.c                |  6 +--
hw/loongarch/virt.c                           |  2 +-
hw/riscv/virt-acpi-build.c                    |  2 +-
hw/riscv/virt.c                               |  6 +--
include/hw/arm/virt.h                         |  4 +-
include/hw/loongarch/virt.h                   |  2 +-
include/hw/riscv/virt.h                       |  4 +-
target/arm/internals.h                        | 27 ++++++++----
target/arm/tcg-stubs.c                        |  4 +-
target/arm/tcg/op_helper.c                    | 10 ++---
target/hexagon/gen_tcg_sys.h                  |  2 +-
target/hexagon/helper.h                       |  2 +-
target/hexagon/op_helper.c                    |  8 ++--
target/i386/helper.h                          |  2 +-
target/i386/tcg/excp_helper.c                 | 18 ++++----
target/i386/tcg/helper-tcg.h                  | 42 +++++++++++++++----
target/i386/tcg/translate.c                   |  2 +-
target/mips/helper.h                          |  2 +-
target/mips/tcg/exception.c                   |  2 +-
target/mips/tcg/translate.c                   |  2 +-
target/riscv/helper.h                         |  6 +--
target/riscv/tcg/bitmanip_helper.c            |  4 +-
.../tcg/insn_trans/trans_privileged.c.inc     |  2 +-
target/riscv/tcg/insn_trans/trans_xlrbr.c.inc |  4 +-
target/riscv/tcg/op_helper.c                  |  2 +-
target/rx/helper.h                            |  2 +-
target/rx/op_helper.c                         |  2 +-
target/rx/translate.c                         |  2 +-
30 files changed, 115 insertions(+), 74 deletions(-)
[PATCH 0/9] treewide: uniquify colliding helper symbols
Posted by Yonggang Luo 7 hours ago
A combined qemu-system binary cannot export the same C symbol from two targets.
This series prefixes TCG helpers and virt ACPI setup functions that still use a
short name another target already exports.

- Prefix leftover i386 TCG raise_exception to i386_raise_exception. Rename the C
  raise_exception family globals to i386_raise_exception*, and keep the short
  names as static inline wrappers in helper-tcg.h. Wrappers still call
  raise_interrupt2.
- Prefix helper_wait on RX, Hexagon, and MIPS. Hexagon also takes the resume PC
  as vaddr.
- Prefix ARM raise_exception to arm_raise_exception and keep the short name as a
  static inline wrapper.
- Prefix virt_acpi_setup and virt_is_acpi_enabled on ARM, RISC-V, and LoongArch
  virt. Leave the ARM trace event virt_acpi_setup unchanged. Leave RISC-V
  file-local virt_acpi_build* names unchanged.
- Rename RISC-V TCG crc32, crc32c, and wfi to riscv_crc32, riscv_crc32c, and
  riscv_wfi. ARM already exports helper_crc32, helper_crc32c, and helper_wfi.

Yonggang Luo (9):
  target/i386: convert raise_exception to i386_raise_exception
  target/rx: rename helper_wait to helper_rx_wait
  target/hexagon: rename helper_wait to helper_hexagon_wait
  target/arm: rename raise_exception to arm_raise_exception
  target/mips: rename helper_wait to helper_mips_wait
  hw/arm/virt: prefix ACPI helpers with arm_virt_
  hw/riscv/virt: prefix ACPI helpers with riscv_virt_
  hw/loongarch/virt: prefix ACPI helper with loongarch_virt_
  target/riscv: uniquify TCG crc32, crc32c, and wfi helper names

 hw/arm/virt-acpi-build.c                      |  4 +-
 hw/arm/virt.c                                 | 12 +++---
 hw/loongarch/virt-acpi-build.c                |  6 +--
 hw/loongarch/virt.c                           |  2 +-
 hw/riscv/virt-acpi-build.c                    |  2 +-
 hw/riscv/virt.c                               |  6 +--
 include/hw/arm/virt.h                         |  4 +-
 include/hw/loongarch/virt.h                   |  2 +-
 include/hw/riscv/virt.h                       |  4 +-
 target/arm/internals.h                        | 27 ++++++++----
 target/arm/tcg-stubs.c                        |  4 +-
 target/arm/tcg/op_helper.c                    | 10 ++---
 target/hexagon/gen_tcg_sys.h                  |  2 +-
 target/hexagon/helper.h                       |  2 +-
 target/hexagon/op_helper.c                    |  8 ++--
 target/i386/helper.h                          |  2 +-
 target/i386/tcg/excp_helper.c                 | 18 ++++----
 target/i386/tcg/helper-tcg.h                  | 42 +++++++++++++++----
 target/i386/tcg/translate.c                   |  2 +-
 target/mips/helper.h                          |  2 +-
 target/mips/tcg/exception.c                   |  2 +-
 target/mips/tcg/translate.c                   |  2 +-
 target/riscv/helper.h                         |  6 +--
 target/riscv/tcg/bitmanip_helper.c            |  4 +-
 .../tcg/insn_trans/trans_privileged.c.inc     |  2 +-
 target/riscv/tcg/insn_trans/trans_xlrbr.c.inc |  4 +-
 target/riscv/tcg/op_helper.c                  |  2 +-
 target/rx/helper.h                            |  2 +-
 target/rx/op_helper.c                         |  2 +-
 target/rx/translate.c                         |  2 +-
 30 files changed, 115 insertions(+), 74 deletions(-)

-- 
2.52.0.windows.1