Skip to content

Fix undefined symbol errors in libxdsprpc.so on Android - #375

Open
Vinayak Katoch (quic-vkatoch) wants to merge 2 commits into
qualcomm:developmentfrom
quic-vkatoch:fix-link
Open

Fix undefined symbol errors in libxdsprpc.so on Android#375
Vinayak Katoch (quic-vkatoch) wants to merge 2 commits into
qualcomm:developmentfrom
quic-vkatoch:fix-link

Conversation

@quic-vkatoch

Copy link
Copy Markdown
Contributor

Observed when running fastrpc_test on Android:

dlopen failed: cannot locate symbol "__android_log_print" referenced by "/vendor/lib64/libadsprpc.so"
dlopen failed: cannot locate symbol "get_dsp_arch_from_yaml" referenced by "/vendor/lib64/libadsprpc.so"

Two undefined symbols identified:

  • __android_log_print_LIBADD assignments were in the else block of if ANDROID_CC in src/Makefile.am, so -llog was never passed to the linker for libadsprpc, libcdsprpc, and libsdsprpc.
  • get_dsp_arch_from_yaml — fastrpc_config_parser.c is excluded from Android builds but its header declared the function unconditionally. Fixed by guarding with #ifndef __ANDROID__ and providing a static inline stub returning NULL.

Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
- Guard get_dsp_arch_from_yaml in fastrpc_config_parser.h with
  __ANDROID__ so Android sees a NULL-returning inline stub instead
  of an unresolved symbol (fastrpc_config_parser.c is not compiled
  on Android)
- Move _LIBADD assignments inside the ANDROID_CC block so -llog is
  actually passed to the linker; drop the now-dead $(USE_LOG)
  reference from the non-Android else branch

Signed-off-by: Vinayak Katoch <vinayak.katoch@oss.qualcomm.com>
@anankulk

anankulk commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Pre-merge CI results — patch 11cfedfaa58e

Validated On

  • fastrpc baseline (development): 1bd8835b6562
  • kernel baseline (qcom-next (reference)): 6548ba1da927

Kernel: 7.2.0-rc3-01271-g8d5dbc1b17ad

Test Matrix

Targets Domain PD Type Tests Result
kaanapali-mtpADSPSigned3/3✅ Pass
kaanapali-mtpCDSPSigned3/3✅ Pass
kaanapali-mtpCDSPUnsigned3/3✅ Pass
lemans-evkADSPSigned3/3✅ Pass
lemans-evkCDSPSigned3/3✅ Pass
lemans-evkCDSPUnsigned3/3✅ Pass
lemans-evkCDSP1Signed3/3✅ Pass
lemans-evkCDSP1Unsigned3/3✅ Pass
qcs615-adp-airADSPSigned0/3❌ Fail
qcs615-adp-airCDSPSigned3/3✅ Pass
qcs615-adp-airCDSPUnsigned3/3✅ Pass
qcs615-rideADSPSigned3/3✅ Pass
qcs615-rideCDSPSigned3/3✅ Pass
qcs615-rideCDSPUnsigned3/3✅ Pass
qcs6490-rb3gen2ADSPSigned3/3✅ Pass
qcs6490-rb3gen2CDSPSigned3/3✅ Pass
qcs6490-rb3gen2CDSPUnsigned3/3✅ Pass
qcs8300-rideADSPSigned3/3✅ Pass
qcs8300-rideCDSPSigned3/3✅ Pass
qcs8300-rideCDSPUnsigned3/3✅ Pass
qcs9100-ride-r3ADSPSigned3/3✅ Pass
qcs9100-ride-r3CDSPSigned3/3✅ Pass
qcs9100-ride-r3CDSPUnsigned3/3✅ Pass
qcs9100-ride-r3CDSP1Signed3/3✅ Pass
qcs9100-ride-r3CDSP1Unsigned3/3✅ Pass
shikra-evkCDSPSigned3/3✅ Pass
shikra-evkCDSPUnsigned2/3❌ Fail
sm8750-mtpADSPSigned3/3✅ Pass
sm8750-mtpCDSPSigned3/3✅ Pass
sm8750-mtpCDSPUnsigned3/3✅ Pass

LAVA Jobs:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants