From patchwork Wed Jul 1 23:13:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 138269 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1D12A4BA23CF for ; Wed, 1 Jul 2026 23:15:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1D12A4BA23CF Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=aF/pKDun X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id B4AD64BA23CF for ; Wed, 1 Jul 2026 23:14:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B4AD64BA23CF Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B4AD64BA23CF Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2607:f8b0:4864:20::632 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1782947666; cv=pass; b=I8rUnG2ltMNbd38VyDDHndZXXcXaMKNsTV0CKrqWQjL+hTgVKYxRG5Fhk6GB6QPkWkQnDlEyQbX8zMEKydUjHJax2SWcVxjstRfKKb/7UrH1C8VDg7ctUlFK5hYNGmZV3EbUvrfpx3d5O05ZqHUI13lEkxOFEJqUTBxo4UvN5tE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1782947666; c=relaxed/simple; bh=Hm+XqFuhIbh7Z8RQc94GrIlu1tX/QKmfzwMGTk8KZwk=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=UBXaUM2JhEwKMtF/abLRgcYkXFLkrs2SfJTXX1eIoMBz2iLj7wHdIuq44xiIXT7ocr3R7rQB1pJZwE1PhWGktwlznFsSTYbcqfpxxVpYgIpxUVzc7mAkKKTFIorKGFvd/0qtDJ4xPWRGaS1FqSev7eRcnWMIr6bowuODKWr1UJE= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=aF/pKDun DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B4AD64BA23CF Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2ca64c3ce5fso10672975ad.3 for ; Wed, 01 Jul 2026 16:14:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782947666; cv=none; d=google.com; s=arc-20260327; b=cqtQzJvSYs2buxVe1jbbHHOvJ+zjmu3YfEw0dsh4eyWyifhmUanJpCYsk5cB+R8lpp xgGtI5ypK253YRx5cg272JdeuxZfMqJ2H5hBkbvbUciRi1dHFehseLvhFzXlxoQuI6/b qSmDTYLMI4to7Z3YT0Uj8gj3ipYr1hG5C66mFpctFZaU45FNiH57iAKZ9wVcNXxtNT5O glcrdAiguO0zFRBK61jq6u2DrintbWEN0rcI6ErGwKIZ/ASJbw/aMpfBIaJFFppAeRuH VZvs13Yu5lkK3z+TMZQumDvZpJes0pMUbJK76aj4MwBmo9eLho/ePu43qjwQ91/XxO82 ChJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=+8FT0FQrlK2lEIIvoxjCQtk5XAryvLaWyso7Z20yliM=; fh=Pki8TH/cKizMWbZukElOfg6ob/ZfEU0AuODmkpqSYDI=; b=E9UnGqgLqmw+zMqsnvLoq0Fu2u/j54hNdmY9jegUkruDeKAHWS9oy3qDQCH0sQvNVx NbBlGXjvxYb6LpSmkcJZBko7rZhE+3DOoNG3zmNMVw+bSgjmXkSkX7GuXmUvdD8YpH/S Cq0ncPCn90YsNoMzACE85lOwUCb5LA+Rv7h//dht9TE4h7UaBKmjxg6dtprAhUWc/26t eMdGkbsSCaT+ITT+ymSSk2lI5ogqTQCP5Q3pUVZx+vy0byfKY2PGNx68z00CUGsjOlOS A1jgrbDJtdFhyIRufBgFiUeRUSTFr/HrK2rxOHqrV0QobiMwGQ9kqxSMcNiKMv27ljjw 3Biw==; darn=sourceware.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782947666; x=1783552466; darn=sourceware.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=+8FT0FQrlK2lEIIvoxjCQtk5XAryvLaWyso7Z20yliM=; b=aF/pKDundOXy3kIB7i3LryKG3j7EoVHmht5QBP7V1i3im6hDqqnxoT1UlUAhdtI7vO 2ywpmrgnlVka6RjWaPDUhneZHsXiYw0xJCL7Pr2WWgZilVtPjMH/UuLoK3bIi8AdLWEG xcJYMD92fVegV24q8aQue4XRhTYabhyWfId3wpz1sgT1Ytb5fyVXShhr7arZ8+lXVHDO p0GMHjofBe5NakZrFBxrm7j0xSVcxxXtYUpoXduj+U1QeeNWwU6V+ZbXlrDXVGGKVCCT mCxgc8RLsw3qE2s3n9c2pvBQ6xTIjwRgg8OaqOjq6Sa05YJazAw/EEvNX7RiFZG9CxyI FGvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782947666; x=1783552466; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+8FT0FQrlK2lEIIvoxjCQtk5XAryvLaWyso7Z20yliM=; b=PK2CfhkklDHOXa4V6RYhka7unItlvrVN56XwDB9AN1b56PgDjZ7/DtyhQ22Ji8bYIs zkwan6juHgV414ATQr5TcWqf5gWQZD4MBhx7+2GQKL+P/8osiM/kZ/N8XzFHKtB+b1WX 1q1BqbKz0BseIypqkgr1uS9KfWCw/zB+92DzG9qDP+rYoTgHeAYmwpi0VcadeE55oOgx ZAY9reVi7ji292otmhD8iLAFL15lCuIKuLylj9M4Eb9iApkzABeYJXay9WRpUpTzQtEO F17m+5gn2Tuad/dUs4n6+Pu/gXcOcqA8Vj5ek4+Ptog8u7XZJbkxzSGRzwTlYDK2fWhK I3LA== X-Gm-Message-State: AOJu0YwA1rgpH1UzSCilKUi4wyKAM2nHG2t+3bIYZ0tkcaj3Jfo6ifRV XWuORAWuTHo6ya90/3V7nLdzA3z7md6MzWbUULJwKjJ+sKrikgd+YOQ3R6ThnrlrAiuAzAN5Soh SlHCj/CTSzovYM6uEEaqdoMFtcrvMJWlVHozg0zH81g== X-Gm-Gg: AfdE7clUn7djaQnWYgSFpVNoS+esHl3alphiTSz+rs27/b8KMk6KbkWZyjkTTkzJ3cE ABfd6jvB12g7/gGYm+40XDlFTpgKQXUuWhJFV9udo4GejUHY9wqTVypi8c3aiF4lLfWXslPWrw/ Q2vSp7zIjwAakB9Le+BjqU0FexxgUAxTHbZoJ6KRyEgkLFW9zR6vNgh+5456YxUm27pOOnMnc4p MEJpTruxnhGEE8Ykbf4R30CM9McnxamoK7yVDGM6BVbmOAvoJv79kkW50ro8N0WbgCfRR+ggB4= X-Received: by 2002:a17:902:ec8c:b0:2c9:e9c7:2b57 with SMTP id d9443c01a7336-2ca7e67d181mr40126625ad.4.1782947665571; Wed, 01 Jul 2026 16:14:25 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "H.J. Lu" Date: Thu, 2 Jul 2026 07:13:48 +0800 X-Gm-Features: AVVi8CepOqU9UgOE5uOjHlp7kqr79nwuhExrSW-ov3rmWJSiBQAMGaJIy0f-nx0 Message-ID: Subject: [COMMITTED, PATCH] readelf: Avoid may be used uninitialized warning from GCC 14 To: Binutils , Nick Clifton , Alan Modra , Jan Beulich X-Spam-Status: No, score=-3008.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_ASCII_DIVIDERS, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org On Thu, Jul 2, 2026 at 6:21 AM H.J. Lu wrote: > > On Wed, Jul 1, 2026 at 2:21 PM H.J. Lu wrote: > > > > PR binutils/34324 > > * readelf.c (process_relocs): Return error on missing DT_REL and > > DT_RELA dynamic tags. > > > > I am checking it in as an obvious fix. GCC 14 fails to recognize that rel_entsz and entsz_name are unused when process_relocs returns early for error: .../binutils/readelf.c:10127:18: error: ‘rel_entsz’ may be used uninitialized [-Werror=maybe-uninitialized] 10127 | if (rel_entsz == 0) | ^ ... .../binutils/readelf.c:10129:19: error: ‘entsz_name’ may be used uninitialized [-Werror=maybe-uninitialized] 10129 | printf (_("\n"), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10130 | entsz_name); Clear them before returning error. Also replace reltype_unknown with default since GCC 14 fails to see that reltype_unknown is the only unhandled value for relocation_type enum. PR binutils/34324 * readelf.c (process_relocs): Clear rel_entsz and entsz_name before returning error on missing DT_REL and DT_RELA dynamic tags. From c1c4795df872f48b7f3659cae5974a6ae4f917ea Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 2 Jul 2026 07:02:48 +0800 Subject: [PATCH] readelf: Avoid may be used uninitialized warning from GCC 14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GCC 14 fails to recognize that rel_entsz and entsz_name are unused when process_relocs returns early for error: .../binutils/readelf.c:10127:18: error: ‘rel_entsz’ may be used uninitialized [-Werror=maybe-uninitialized] 10127 | if (rel_entsz == 0) | ^ ... .../binutils/readelf.c:10129:19: error: ‘entsz_name’ may be used uninitialized [-Werror=maybe-uninitialized] 10129 | printf (_("\n"), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10130 | entsz_name); Clear them before returning error. Also replace reltype_unknown with default since GCC 14 fails to see that reltype_unknown is the only unhandled value for relocation_type enum. PR binutils/34324 * readelf.c (process_relocs): Clear rel_entsz and entsz_name before returning error on missing DT_REL and DT_RELA dynamic tags. Signed-off-by: H.J. Lu --- binutils/readelf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/binutils/readelf.c b/binutils/readelf.c index 33b95da8b7e..59b9d906f08 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -10080,8 +10080,11 @@ process_relocs (Filedata * filedata) switch (rel_type) { - case reltype_unknown: + default: error (_("missing DT_REL and DT_RELA dynamic tags\n")); + /* Avoid may be used uninitialized warning from GCC 14. */ + rel_entsz = 0; + entsz_name = NULL; return false; case reltype_rel: rel_entsz = filedata->dynamic_info[DT_RELENT]; -- 2.54.0