target/arm: Fix non-TCG build failure by inlining pauth_ptr_mask()
commitb15bdc965106a10dbac2e50dc598ee7fd926ff14
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Mon, 3 Apr 2023 15:12:29 +0000 (3 16:12 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 3 Apr 2023 15:12:29 +0000 (3 16:12 +0100)
tree745a0d89a3d475de5fc01bba07347ba7a935e758
parentefcd0ec14b0fe9ee0ee70277763b2d538d19238d
target/arm: Fix non-TCG build failure by inlining pauth_ptr_mask()

aarch64_gdb_get_pauth_reg() -- although disabled since commit
5787d17a42 ("target/arm: Don't advertise aarch64-pauth.xml to
gdb") is still compiled in. It calls pauth_ptr_mask() which is
located in target/arm/tcg/pauth_helper.c, a TCG specific helper.

To avoid a linking error when TCG is not enabled:

  Undefined symbols for architecture arm64:
    "_pauth_ptr_mask", referenced from:
        _aarch64_gdb_get_pauth_reg in target_arm_gdbstub64.c.o
  ld: symbol(s) not found for architecture arm64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

- Inline pauth_ptr_mask() in aarch64_gdb_get_pauth_reg()
  (this is the single user),
- Rename pauth_ptr_mask_internal() as pauth_ptr_mask() and
  inline it in "internals.h",

Fixes: e995d5cce4 ("target/arm: Implement gdbstub pauth extension")
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20230328212516.29592-1-philmd@linaro.org
[PMM: reinstated doc comment]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/gdbstub64.c
target/arm/internals.h
target/arm/tcg/pauth_helper.c