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)
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.
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 forlog
operation and GLIBC 2.30 forgettid
. With the wrapper it uses glibc2.2.5 for log operation and syscall forgettid
.Local build also passes with this change: https://psg-sc-arc.sc.intel.com/arc/dashboard/reports/show_job/941516093