Blob Blame History Raw
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