[PATCH 0/1] bfd: Stop using -Wstack-usage=262144 when built with Clang

Tsukasa OI research_trasio@irq.a4lg.com
Tue Sep 13 12:59:35 GMT 2022


[Common Background: Building GNU Binutils / GDB with Clang 15.0.0]

I'm now testing to build GNU Binutils / GDB with latest Clang (15.0.0) and
found some errors by default (when Binutils / GDB is not configured with

While the best compiler to build GNU Binutils / GDB is GNU GCC, testing
other compilers are helpful to discover underlying problems and modernize
Binutils / GDB, even if building entire Binutils / GDB with the latest Clang
is unrealistic.  To be sure, I'm not going to finish "porting for Clang".
I will take low-hanging fruits and...

1.  make building with Clang easier and/or
2.  fix code issues (or non-issues) discovered as Clang warnings.

I made four patchsets in which, applying them all makes it possible to
build GNU Binutils / GDB with Clang (without help of --disable-werrors) for
many (but not all) targets including i386 and RISC-V with Ubuntu 22.04 LTS
(x86_64) host.  At least, I think they fix all (at minimum, most of) arch-
independent parts which prevents building with the latest version of Clang.

This is the one of them.

[About this Patchset]

Some components of GNU Binutils will pass "-Wstack-usage=262144" when
"GCC >= 5.0" is detected.  However, Clang does not support "-Wstack-usage",
despite that related configuration part in bfd/warning.m4 handles the latest
Clang as "GCC >= 5.0".

The option "-Wstack-usage" was ignored when the first version of Clang is
released but even this "ignoring" behavior is removed before Clang 4.0.0.
So, if we give Clang "-Wstack-usage=262144", it generates a warning, making
the build failure.

With this patchset, GNU Binutils no longer appends "-Wstack-usage=262144"
if the compiler is identified as Clang (when __clang__ is defined).

I also regenerated related "configure" scripts with maintainer mode.


Tsukasa OI (1):
  bfd: Stop using -Wstack-usage=262144 when built with Clang

 bfd/configure      | 18 ++++++++++++++++++
 bfd/warning.m4     |  6 ++++--
 binutils/configure | 18 ++++++++++++++++++
 gas/configure      | 18 ++++++++++++++++++
 gold/configure     | 18 ++++++++++++++++++
 gprof/configure    | 18 ++++++++++++++++++
 ld/configure       | 18 ++++++++++++++++++
 opcodes/configure  | 18 ++++++++++++++++++
 8 files changed, 130 insertions(+), 2 deletions(-)

base-commit: 8fa9bc6a030c9a41eb8cf6f0f66043e02005b291

More information about the Binutils mailing list