[PATCH 0/1] bfd: Stop using -Wstack-usage=262144 when built with Clang
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(-)
More information about the Binutils