From patchwork Sun May 5 00:10:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Sampson X-Patchwork-Id: 1931460 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VX4sV6HZZz1xnS for ; Sun, 5 May 2024 10:19:10 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DCC463858C42 for ; Sun, 5 May 2024 00:19:08 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from alt2.a-painless.mh.aa.net.uk (painless-a.thn.aa.net.uk [IPv6:2001:8b0:0:62::26]) by sourceware.org (Postfix) with ESMTPS id BE59D3858402 for ; Sun, 5 May 2024 00:18:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BE59D3858402 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=offog.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=offog.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BE59D3858402 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:8b0:0:62::26 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714868318; cv=none; b=Xes9FmNGwQ+f4pk7OEsQZeWo4CxZOgytJU0dxvJDMjlvdWtzARSmmheSZd8IA9lcSNlrcvOdYrMfE0EYzRgnDbnmoaGKiDfhc2VcJHx+DHJ01EXMFNx7Mv44z0C7G+oSp1vLpYK+9J0CeW3mj4FrPAWMVbupT9oT8mOG+KW85gs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714868318; c=relaxed/simple; bh=DkWxE+Dk1Ze6uByhESIVLGV9KLkBGyJiOdV5zUEBR68=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=vP+WihMoiz2+x8mnZmpOnzAtuDpTCzg4U8XLqfzOMQc+sG5VYnZUAYqCueav+Iy+syGPeuYLdPZi9zJu5nWHwLqdoWq+E/dVuQB5aQYqvIqa14dvz6hmtlugZr4aQByOkMhDMTD1ep1jGQcsUBa++ENYze+k8Urq2Y3Xh+vmI44= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from cartman.offog.org ([2001:8b0:83b:b53f::a]) by painless-a.thn.aa.net.uk with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s3Pa8-0018Ey-2w for libc-alpha@sourceware.org; Sun, 05 May 2024 01:18:20 +0100 Received: from ats by cartman.offog.org with local (Exim 4.97.1) (envelope-from ) id 1s3Pa5-0000000029n-48E2; Sun, 05 May 2024 01:18:17 +0100 From: Adam Sampson To: libc-alpha@sourceware.org Cc: Adam Sampson Subject: [PATCH] ldconfig: Ignore all GDB extension files Date: Sun, 5 May 2024 01:10:34 +0100 Message-ID: <20240505001755.893-1-ats@offog.org> X-Mailer: git-send-email 2.45.0 MIME-Version: 1.0 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org ldconfig already ignores files with the -gdb.py suffix, but GDB also looks for -gdb.gdb and -gdb.scm files. These aren't as widely used, but libguile at least comes with a -gdb.scm file. This patch makes ldconfig ignore all three types of file. Signed-off-by: Adam Sampson --- Note: I'm using DCO, and I'm happy for this trivial change to be covered by the existing FSF copyright notice in the file, or by Copyright The GNU Toolchain Authors if you prefer. elf/readlib.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/elf/readlib.c b/elf/readlib.c index 4d67c74136..a86d4a2a49 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -43,12 +43,18 @@ struct known_names int flag; }; -/* Check if string corresponds to a GDB Python file. */ +/* Check if string corresponds to a GDB extension file. */ static bool -is_gdb_python_file (const char *name) +is_gdb_extension_file (const char *name) { size_t len = strlen (name); - return len > 7 && strcmp (name + len - 7, "-gdb.py") == 0; + if (len > 8 && strcmp (name + len - 8, "-gdb.gdb") == 0) + return true; + if (len > 7 && strcmp (name + len - 7, "-gdb.py") == 0) + return true; + if (len > 8 && strcmp (name + len - 8, "-gdb.scm") == 0) + return true; + return false; } /* Returns 0 if everything is ok, != 0 in case of error. */ @@ -145,7 +151,7 @@ process_file (const char *real_file_name, const char *file_name, size_t len = MIN (statbuf.st_size, 512); if (memmem (file_contents, len, "GROUP", 5) == NULL && memmem (file_contents, len, "GNU ld script", 13) == NULL - && !is_gdb_python_file (file_name)) + && !is_gdb_extension_file (file_name)) error (0, 0, _("%s is not an ELF file - it has the wrong magic bytes at the start.\n"), file_name); ret = 1;