intel / fpga-runtime-for-opencl

Intel® FPGA Runtime for OpenCL™ Software Technology
Other
34 stars 68 forks source link

Added glibc_wrap to provide Linux OS backwards compatibility #362

Closed jackzhaolt closed 5 months ago

jackzhaolt commented 5 months ago

Our CI/CD is moving to SUSE15, but we need to support a GLIBC version (2.28) that is below the native GLIBC version on SUSE15) This change implements a wrapping mechanism that will explicitly link against the older GLIBC functions or syscall functions to the extent required for our oldest supported GLIBC (2.28)

The implementation is based on that used in hld-backend and DSPBA https://github.com/intel-innersource/applications.fpga.oneapi.products.hld-backend-source/pull/510

Tests run:

I've verified with nm that without linking the wrapper, the libalteracl.so file uses GLIBC 2.29 for log operation and GLIBC 2.30 for gettid. With the wrapper it uses glibc2.2.5 for log operation and syscall for gettid.

Local build also passes with this change: https://psg-sc-arc.sc.intel.com/arc/dashboard/reports/show_job/941516093

sophimao commented 5 months ago

CI failure due to https://github.com/actions/runner-images/issues/10004, will bypass CI and merge