From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
To: Hans-Peter Nilsson <hp@bitrange.com>
Cc: Simon Marchi <simon.marchi@efficios.com>,
gdb-patches@sourceware.org, binutils@sourceware.org
Subject: Re: [PATCH] include, opcodes: prefix REG_* macros in cris.h, nds32.h and microblaze-opcm.h
Date: Wed, 19 Aug 2026 21:11:31 +0200 [thread overview]
Message-ID: <yddmruij57g.fsf@CeBiTec.Uni-Bielefeld.DE> (raw)
In-Reply-To: <alpine.BSF.2.20.16.2608191324250.89035@arjuna.pair.com> (Hans-Peter Nilsson's message of "Wed, 19 Aug 2026 13:32:11 -0400 (EDT)")
Hi Hans-Peter,
> On Tue, 18 Aug 2026, Simon Marchi wrote:
>
>> Bug 34537 reports:
>>
>> When building gdb with the default configure options of gdb buildbots (which
>> include --enable-targets=all), gdb fails to build:
>>
>> CXX microblaze-tdep.o
>> In file included from ../../binutils-gdb/gdb/microblaze-tdep.c:37:
>
>> 158 | #define REG_PC REG_RIP
>> | ^~~~~~
>> ../../binutils-gdb/gdb/../opcodes/microblaze-opcm.h:120:9: error: ?REG_SP? redefined [-Werror]
>> 120 | #define REG_SP 1 /* stack pointer. */
>> | ^~~~~~
>
>> Attempt to fix it by prefixing the macros with the arch name.
>
> An alternative, less intrusive method, would be to #undef those
> macros in a suitable gdb toplevel file, maybe defs.h, after
> including cstdlib but before including binutils/gdb files. The
> error is clearly on the Solaris side, for namespace intrusion
> and pollution.
what namespace would that be? It's clearly ok for systems to define
REG_* macros in their system headers. It's quite common in
<sys/ucontext.h> or similar headers. The clashes only occur if the same
definitions are present on different systems (which can only occur in
multi-target code like this --enable-targets=all configuration). Why
would cris (or microblaze or nds32 or solaris) have more right to them
than others?
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
prev parent reply other threads:[~2026-08-19 19:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 20:27 Simon Marchi
2026-08-18 20:55 ` Rainer Orth
2026-08-19 5:03 ` Simon Marchi
2026-08-19 9:11 ` Rainer Orth
2026-08-19 12:35 ` Simon Marchi
2026-08-21 8:03 ` Alan Modra
2026-08-22 5:19 ` Simon Marchi
2026-08-19 17:32 ` Hans-Peter Nilsson
2026-08-19 17:58 ` Simon Marchi
2026-08-19 19:11 ` Rainer Orth [this message]
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=yddmruij57g.fsf@CeBiTec.Uni-Bielefeld.DE \
--to=ro@cebitec.uni-bielefeld.de \
--cc=binutils@sourceware.org \
--cc=gdb-patches@sourceware.org \
--cc=hp@bitrange.com \
--cc=simon.marchi@efficios.com \
/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