public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
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


  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).