public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: Tsukasa OI <research_trasio@irq.a4lg.com>,
	Andrew Burgess <aburgess@redhat.com>,
	Mike Frysinger <vapier@gentoo.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH v3 0/5] sim: Suppress warnings if built with Clang
Date: Tue, 11 Oct 2022 18:40:26 +0200	[thread overview]
Message-ID: <7b9c7afa-e282-de64-645b-b508320dd276@suse.de> (raw)
In-Reply-To: <cover.1665038297.git.research_trasio@irq.a4lg.com>

On 10/6/22 08:43, Tsukasa OI via Gdb-patches wrote:
> Hello,
> 
> This is the version 2 patchset to suppress Clang compiler warnings
> (causes a build failure due to default -Werror).
> 
> 

Hi,

AFAICT, this causes breakage with the build bots, see f.i. 
https://builder.sourceware.org/buildbot/#/builders/74/builds/1357 :
...
   CC     pk_disklabel.o
../../../binutils-gdb/sim/ppc/corefile.c: In function 
‘core_map_find_mapping’:
../../../binutils-gdb/sim/ppc/corefile.c:295:136: error: format ‘%x’ 
expects argument of type ‘unsigned int’, but argument 4 has type ‘cpu *’ 
{aka ‘struct _cpu *’} [-Werror=format=]
   295 |     error("core_find_mapping() - access to unmaped address, 
attach a default map to handle this - addr=0x%x nr_bytes=0x%x 
processor=0x%x cia=0x%x\n",
       | 
                                                                       ~^
       | 
                                                                        |
       | 
 
unsigned int
   296 |           addr, nr_bytes, processor, cia);
       |                           ~~~~~~~~~ 

       |                           |
       |                           cpu * {aka struct _cpu *}
cc1: all warnings being treated as errors
make[3]: *** [Makefile:144: corefile.o] Error 1
...

Thanks,
- Tom

> [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

  parent reply	other threads:[~2022-10-11 16:40 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   ` [PATCH v3 0/5] sim: Suppress warnings if built with Clang Tsukasa OI
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 [this message]
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=7b9c7afa-e282-de64-645b-b508320dd276@suse.de \
    --to=tdevries@suse.de \
    --cc=aburgess@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=research_trasio@irq.a4lg.com \
    --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).