From: Tsukasa OI <research_trasio@irq.a4lg.com>
To: Tsukasa OI <research_trasio@irq.a4lg.com>,
Andrew Burgess <aburgess@redhat.com>,
Mike Frysinger <vapier@gentoo.org>
Cc: gdb-patches@sourceware.org
Subject: [PATCH v3 0/5] sim: Suppress warnings if built with Clang
Date: Thu, 6 Oct 2022 06:43:48 +0000 [thread overview]
Message-ID: <cover.1665038297.git.research_trasio@irq.a4lg.com> (raw)
In-Reply-To: <cover.1664095312.git.research_trasio@irq.a4lg.com>
Hello,
This is the version 2 patchset to suppress Clang compiler warnings
(causes a build failure due to default -Werror).
[Background]
When we build Binutils and GDB with Clang, it causes a build failure due to
warnings generated by Clang and the default -Werror configuration.
I MOSTLY managed to make ALL ARCHITECTURE ENABLED Binutils and GDB
-Werror-free on Clang 15.0.0 (note that this does not necessarily mean
warning-free) and this patchset is a part of it (common simulator parts).
- It still requires -Wno-implicit-function-declaration on the
LatticeMicro32 and M32R simulators. Except them, most of Binutils / GDB
components can be built with Clang by default with my tree.
- I noticed that the assembler is not tested enough (because just with
--enable-targets=all, it builds only host assembler).
Full Clang 15.0.0 -Werror-free branch in development is available at:
<https://github.com/a4lg/binutils-gdb/tree/clang-nowarn-dev>
Tested configuration:
- Ubuntu 22.04.1 LTS (x86_64)
- LLVM / Clang 15.0.0 (built from source)
- Configuration examples:
$srcdir/configure \
--enable-targets=all \
--enable-multilib --enable-ld --enable-gold --enable-nls \
CC=clang CXX=clang++ CCLD=clang CXXLD=clang++ \
CFLAGS=' -O2 -g -Wno-implicit-function-declaration' \
CXXFLAGS='-O2 -g -Wno-implicit-function-declaration'
$srcdir/configure \
--target=riscv64-unknown-linux-gnu \
--enable-multilib --enable-ld --enable-gold --enable-nls \
CC=clang CXX=clang++ CCLD=clang CXXLD=clang++ \
CFLAGS='-O2 -g' CXXFLAGS='-O2 -g'
[About this Patchset]
This patchset contains four five fixes to the files under sim{,/common}.
Each contains minor fixes to suppress Clang / GCC warnings.
Each change is detailed in the each patch.
[Changes: v2 -> v3]
- PATCH 2/5: Rewritten predicate macros from (!!x) to (x != 0).
(This is based on the feedback by Andrew Burgess).
- PATCH 3/5: Replaced with a patch by Andrew Burgess
(slightly modified by me).
- PATCH 4/5: Fix cached variable from ld_cv_* to sim_cv_*.
- Removed ChangeLog from commit messages
(based on the feedback [to another patchset by me] by Bruno Larsen).
[Changes: v1 -> v2]
- Commit messages are improved
- PATCH v1 1/4 is Moved to another patchset
- PATCH v1 2-4/4 -> PATCH v2 1-3/5
- New: Check known getopt definition on sim (PATCH v2 4/5)
This test is already performed on binutils, gas, gprof and ld and this
commit does the same to sim.
- New: Initialize pbb_br_* by default (PATCH v2 5/5)
It did not generate warnings on Clang but GCC creates some warnings
(although those are not reported as errors).
This is due to uninitialized pbb_br_* variables and this commit fixes
the issue by initializing them by a harmless value.
Thanks,
Tsukasa
Tsukasa OI (5):
sim: Remove self-assignments
sim: Make WITH_{TRACE,PROFILE}-based macros bool
sim: Suppress non-literal printf warning
sim: Check known getopt definition existence
sim: Initialize pbb_br_* by default
sim/common/genmloop.sh | 8 ++++----
sim/common/hw-tree.c | 2 --
sim/common/sim-hw.c | 26 ++++++++++++++++----------
sim/common/sim-profile.h | 12 ++++++------
sim/common/sim-trace.h | 4 ++--
sim/config.h.in | 3 +++
sim/configure | 32 ++++++++++++++++++++++++++++++++
sim/configure.ac | 10 ++++++++++
8 files changed, 73 insertions(+), 24 deletions(-)
base-commit: a13886e2198beb78b81c59839043b021ce6df78a
--
2.34.1
next prev parent reply other threads:[~2022-10-06 6:43 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-13 12:57 [PATCH 0/4] sim/common: " Tsukasa OI
2022-09-13 12:57 ` [PATCH 1/4] sim: Add ATTRIBUTE_PRINTF Tsukasa OI
2022-09-13 12:57 ` [PATCH 2/4] sim: Remove self-assignments Tsukasa OI
2022-09-13 12:57 ` [PATCH 3/4] sim: Make WITH_{TRACE,PROFILE}-based macros bool Tsukasa OI
2022-10-05 11:38 ` Andrew Burgess
2022-10-06 5:33 ` Tsukasa OI
2022-09-13 12:57 ` [PATCH 4/4] sim: Suppress non-literal printf warning Tsukasa OI
2022-10-05 11:45 ` Andrew Burgess
2022-10-06 5:39 ` Tsukasa OI
2022-10-23 12:22 ` Mike Frysinger
2022-10-24 10:50 ` Tsukasa OI
2022-09-25 8:42 ` [PATCH v2 0/5] sim: Suppress warnings if built with Clang Tsukasa OI
2022-09-25 8:42 ` [PATCH v2 1/5] sim: Remove self-assignments Tsukasa OI
2022-09-25 8:42 ` [PATCH v2 2/5] sim: Make WITH_{TRACE,PROFILE}-based macros bool Tsukasa OI
2022-09-25 8:42 ` [PATCH v2 3/5] sim: Suppress non-literal printf warning Tsukasa OI
2022-09-25 8:42 ` [PATCH v2 4/5] sim: Check known getopt definition existence Tsukasa OI
2022-09-25 8:42 ` [PATCH v2 5/5] sim: Initialize pbb_br_* by default Tsukasa OI
2022-10-06 6:43 ` Tsukasa OI [this message]
2022-10-06 6:43 ` [PATCH v3 1/5] sim: Remove self-assignments Tsukasa OI
2022-10-11 14:21 ` Andrew Burgess
2022-10-11 14:29 ` Tsukasa OI
2022-10-06 6:43 ` [PATCH v3 2/5] sim: Make WITH_{TRACE,PROFILE}-based macros bool Tsukasa OI
2022-10-06 6:43 ` [PATCH v3 3/5] sim: Suppress non-literal printf warning Tsukasa OI
2022-10-11 14:22 ` Andrew Burgess
2022-10-06 6:43 ` [PATCH v3 4/5] sim: Check known getopt definition existence Tsukasa OI
2022-10-12 16:28 ` Tom de Vries
2022-10-12 17:03 ` Tsukasa OI
2022-10-12 17:08 ` Tom de Vries
2022-10-12 17:20 ` Tom de Vries
2022-10-13 9:50 ` Tsukasa OI
2022-10-23 12:16 ` Mike Frysinger
2022-10-27 2:02 ` Tsukasa OI
2023-01-03 3:12 ` Mike Frysinger
2023-01-03 8:47 ` Tsukasa OI
2022-10-06 6:43 ` [PATCH v3 5/5] sim: Initialize pbb_br_* by default Tsukasa OI
2022-10-11 14:20 ` [PATCH v3 0/5] sim: Suppress warnings if built with Clang Andrew Burgess
2022-10-11 16:40 ` Tom de Vries
2022-10-11 18:02 ` Tsukasa OI
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1665038297.git.research_trasio@irq.a4lg.com \
--to=research_trasio@irq.a4lg.com \
--cc=aburgess@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=vapier@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).