| Message ID | 20240715212340.190915-1-slyich@gmail.com |
|---|---|
| State | Committed |
| Headers |
Return-Path: <elfutils-devel-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 119AB384B05A for <patchwork@sourceware.org>; Mon, 15 Jul 2024 21:24:03 +0000 (GMT) X-Original-To: elfutils-devel@sourceware.org Delivered-To: elfutils-devel@sourceware.org Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by sourceware.org (Postfix) with ESMTPS id BB4443851C30 for <elfutils-devel@sourceware.org>; Mon, 15 Jul 2024 21:23:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BB4443851C30 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 BB4443851C30 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::330 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1721078631; cv=none; b=rZxMZ3FHGunWbQBuV4cPjQUu06fBKw2MFVuVirsMJdlk3T86rMrzn27VEIqK0jnABe7ZvIbO3TbZU3hnPeNL/PG70dE/fBZwB4QuyIuWRRUMlzuJYXKSGM734zWavVse5WPN9brJOWgXQ17IxYm2ufNHgdodVUQ6DWePHM3Jq90= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1721078631; c=relaxed/simple; bh=N2g4gpTxAP1SxW68MAPoQo8AWCrZE/BdB2f3S6k/HpM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=PiQmKQpP4tDghS00PhBzs22XIWE7ALXfBrz3V5/mDN8SCXEX8pWwRbgeshh3uf/vb5GsErqyNtvDGYP4XdNc6+rDKUA+haO2MRI45G7y/1EFYpVIDe7JLN66lz+WpvPT2iEsHdPv96W40WRXTINUn0HyXincfUoOBlSWfLOOQJ8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4279ca8af51so28393505e9.3 for <elfutils-devel@sourceware.org>; Mon, 15 Jul 2024 14:23:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721078627; x=1721683427; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=AFM/ey47H4AAAsCusNrghX52/qxUvImBHKCxB8zCvWE=; b=P8fQlqHQWFfvqa5iLwN0/9DAiXl2qPcYYcCUOIJtCgTgEziaEk+uMjezP3VyPE7kXr yU4Ne1b6yjtVGqK81peGX7E52OGuzw5R9Jt13qUlUzj5/rewpBXQ5YZRoEWWCtVO3uzb zqd1uc1kvEbRGVpkZkeTOs5FZy23ogeBIXYvSYr2fmacRLm+OiAp6De7CFFxm59bdJ5D 2I+7fzsIo+ZPLUMqXIgbA8C2zj4zVOruFNk5B0N4x/loza4tCA0KTpNBuRhCQAX+Av9W yEqjVhIlCqeTRpuFTVQ7BQ/W0X+u5El3uEpJg3jrx8Xi3kguV8LFA4l2AP8J2CWSEB7k ol3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721078627; x=1721683427; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AFM/ey47H4AAAsCusNrghX52/qxUvImBHKCxB8zCvWE=; b=p06UkG41jbxTmXj/4NIS+q3PdXBsKZKiVlpaZEfyKr8rcZ3yX3gJWcoJGNunhpRw6f yopjVgD9ddH9cxFon7xCJjH+n5srUzVDN78y/NzlqfEl2mEvBjtgqy6pp+jB0wPXqVpu 3pxyX+ejcvi0M57EobM06wrejk0meHNmt0XIbk1SYVHwUxc78t0Mco6z0E3C1qvtrBQv RSR/04Ux8/2JS1blqbacEdf3adTGW7pe34EZAB78XQ5JGIb6NOFdzgtrqFGlTMECseDI 4LWOhoIiA0qKbbZD6iDdmF9vQ1oGdn/Use3lZ8RDsZdEHWvNTzyrk9srIa69QMS4o1uT BIcA== X-Gm-Message-State: AOJu0Yzv2LDyDNJGPcojnukqTbvexZKifTHH/GUiNNxhC54O6hn+PfP8 DNn93aqyEQKEDRTr+Kue6uIhQvNwl7Twtvr/xZ+/7zhdYVtA0zuQ X-Google-Smtp-Source: AGHT+IEk+YgbhVUd2/f89pXdas3AOpeReAuFqsDEtPsnA8teWkEOyjV8GtSFBT2tMcvY0FoWi5pNZA== X-Received: by 2002:a05:600c:524b:b0:426:5c9b:dee6 with SMTP id 5b1f17b1804b1-427ba6f3b69mr740055e9.26.1721078627181; Mon, 15 Jul 2024 14:23:47 -0700 (PDT) Received: from nz.home (host86-152-202-149.range86-152.btcentralplus.com. [86.152.202.149]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4279f23cc5bsm133762795e9.2.2024.07.15.14.23.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jul 2024 14:23:46 -0700 (PDT) Received: by nz.home (Postfix, from userid 1000) id 13CA51D865BDEF; Mon, 15 Jul 2024 22:23:46 +0100 (BST) From: Sergei Trofimovich <slyich@gmail.com> To: elfutils-devel@sourceware.org Cc: Sergei Trofimovich <slyich@gmail.com> Subject: [PATCH] backends: allocate enough stace for null terminator Date: Mon, 15 Jul 2024 22:23:40 +0100 Message-ID: <20240715212340.190915-1-slyich@gmail.com> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, 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: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Elfutils-devel mailing list <elfutils-devel.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/elfutils-devel>, <mailto:elfutils-devel-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/elfutils-devel/> List-Post: <mailto:elfutils-devel@sourceware.org> List-Help: <mailto:elfutils-devel-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/elfutils-devel>, <mailto:elfutils-devel-request@sourceware.org?subject=subscribe> Errors-To: elfutils-devel-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
backends: allocate enough stace for null terminator
|
|
Commit Message
Sergei Trofimovich
July 15, 2024, 9:23 p.m. UTC
`gcc-15` added a new warning in https://gcc.gnu.org/PR115185:
i386_regs.c:88:11: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization]
88 | "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip"
| ^~~~
`elfutils` does not need to store '\0'. We could either initialize the
arrays with individual bytes or allocate extra byte for null.
This change allocates extra byte per string to fit in null terminator.
* backends/i386_regs.c (i386_register_info): Add extra byte per
entry to fix gcc-15 warning.
* backends/x86_64_regs.c (x86_64_register_info): Ditto.
Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
---
backends/i386_regs.c | 2 +-
backends/x86_64_regs.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
Hi Sergei, On Mon, 2024-07-15 at 22:23 +0100, Sergei Trofimovich wrote: > `gcc-15` added a new warning in https://gcc.gnu.org/PR115185: > > i386_regs.c:88:11: error: initializer-string for array of 'char' is too long [-Werror=unterminated-string-initialization] > 88 | "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip" > | ^~~~ OK, I see why you want to warn for this. There is a real chance you use those char array's with some str functions and then there is trouble. > `elfutils` does not need to store '\0'. We could either initialize the > arrays with individual bytes or allocate extra byte for null. With initialize with individual bytes you mean: diff --git a/backends/i386_regs.c b/backends/i386_regs.c index 7ec93bb9fc13..ead55ef7f931 100644 --- a/backends/i386_regs.c +++ b/backends/i386_regs.c @@ -85,7 +85,15 @@ i386_register_info (Ebl *ebl __attribute__ ((unused)), { static const char baseregs[][2] = { - "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip" + {'a', 'x'}, + {'c', 'x'}, + {'d', 'x'}, + {'b', 'x'}, + {'s', 'p'}, + {'b', 'p'}, + {'s', 'i'}, + {'d', 'i'}, + {'i', 'p'}, }; case 4: ? Since the use of this array is basically just: name[0] = 'r'; name[1] = baseregs[regno][0]; name[2] = baseregs[regno][1]; I think I prefer the individual bytes init way. It makes more clear what we really use these arrays for. imho. Thanks, Mark
diff --git a/backends/i386_regs.c b/backends/i386_regs.c index 7ec93bb9..4bca1b1a 100644 --- a/backends/i386_regs.c +++ b/backends/i386_regs.c @@ -83,7 +83,7 @@ i386_register_info (Ebl *ebl __attribute__ ((unused)), switch (regno) { - static const char baseregs[][2] = + static const char baseregs[][3] = { "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", "ip" }; diff --git a/backends/x86_64_regs.c b/backends/x86_64_regs.c index ef987daf..c92c862a 100644 --- a/backends/x86_64_regs.c +++ b/backends/x86_64_regs.c @@ -80,7 +80,7 @@ x86_64_register_info (Ebl *ebl __attribute__ ((unused)), switch (regno) { - static const char baseregs[][2] = + static const char baseregs[][3] = { "ax", "dx", "cx", "bx", "si", "di", "bp", "sp" };