Merge pull request #1046 from elezar/resolve-ldcache-libs-on-arm64
Some checks failed
CI Pipeline / code-scanning (push) Has been cancelled
CI Pipeline / variables (push) Has been cancelled
CI Pipeline / golang (push) Has been cancelled
CI Pipeline / image (push) Has been cancelled
CI Pipeline / e2e-test (push) Has been cancelled

Fix resolution of libs in LDCache on ARM
This commit is contained in:
Evan Lezar 2025-05-09 15:04:00 +02:00 committed by GitHub
commit adb5e6719d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -47,6 +47,11 @@ const (
flagArchX8664 = 0x0300 flagArchX8664 = 0x0300
flagArchX32 = 0x0800 flagArchX32 = 0x0800
flagArchPpc64le = 0x0500 flagArchPpc64le = 0x0500
// flagArch_ARM_LIBHF is the flag value for 32-bit ARM libs using hard-float.
flagArch_ARM_LIBHF = 0x0900
// flagArch_AARCH64_LIB64 is the flag value for 64-bit ARM libs.
flagArch_AARCH64_LIB64 = 0x0a00
) )
var errInvalidCache = errors.New("invalid ld.so.cache file") var errInvalidCache = errors.New("invalid ld.so.cache file")
@ -195,10 +200,14 @@ func (c *ldcache) getEntries() []entry {
switch e.Flags & flagArchMask { switch e.Flags & flagArchMask {
case flagArchX8664: case flagArchX8664:
fallthrough fallthrough
case flagArch_AARCH64_LIB64:
fallthrough
case flagArchPpc64le: case flagArchPpc64le:
bits = 64 bits = 64
case flagArchX32: case flagArchX32:
fallthrough fallthrough
case flagArch_ARM_LIBHF:
fallthrough
case flagArchI386: case flagArchI386:
bits = 32 bits = 32
default: default: