From f7161d2612c035604146298809e628d806dbed3a Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Sun, 29 Nov 2020 07:58:30 +0100
Subject: [PATCH] Several new test failures on ppc64le with 6.22.06 due to:
g++: error: linux-vdso64.so.1: No such file or directory
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The list of names filtered out by TCling is incomplete.
The vdso(7) man page gives the following list:
user ABI vDSO name
─────────────────────────────
aarch64 linux-vdso.so.1
arm linux-vdso.so.1
ia64 linux-gate.so.1
mips linux-vdso.so.1
ppc/32 linux-vdso32.so.1
ppc/64 linux-vdso64.so.1
riscv linux-vdso.so.1
s390 linux-vdso32.so.1
s390x linux-vdso64.so.1
sh linux-gate.so.1
i386 linux-gate.so.1
x86-64 linux-vdso.so.1
x86/x32 linux-vdso.so.1
---
core/metacling/src/TCling.cxx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx
index 5078d7b93e..0e605a5388 100644
--- a/core/metacling/src/TCling.cxx
+++ b/core/metacling/src/TCling.cxx
@@ -3274,6 +3274,8 @@ static int callback_for_dl_iterate_phdr(struct dl_phdr_info *info, size_t size,
// Skip \0, "", and kernel pseudo-libs linux-vdso.so.1 or linux-gate.so.1
if (info->dlpi_name && info->dlpi_name[0]
&& strncmp(info->dlpi_name, "linux-vdso.so", 13)
+ && strncmp(info->dlpi_name, "linux-vdso32.so", 15)
+ && strncmp(info->dlpi_name, "linux-vdso64.so", 15)
&& strncmp(info->dlpi_name, "linux-gate.so", 13))
newLibs->emplace_back(info->dlpi_name);
sKnownLoadedLibBaseAddrs.insert(info->dlpi_addr);
--
2.28.0