From: Thomas Huth <thuth@redhat.com>
To: linuxppc-dev@lists.ozlabs.org,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>,
linux-kernel@vger.kernel.org
Subject: [PATCH v3 0/2] powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in header files
Date: Fri, 1 Aug 2025 10:20:05 +0200 [thread overview]
Message-ID: <20250801082007.32904-1-thuth@redhat.com> (raw)
The kernel Makefiles define the __ASSEMBLY__ macro to provide
a way to use headers in both, assembly and C source code. This is bad
since macros starting with two underscores are names that are reserved
by the C language.
Additionally, all the supported versions of the GCC and Clang compilers
also define the macro __ASSEMBLER__ automatically already when compiling
assembly code, so some kernel headers are using __ASSEMBLER__ instead.
With regards to userspace code, this seems also to be constant source
of confusion, see for example these links here:
https://lore.kernel.org/kvm/20250222014526.2302653-1-seanjc@google.com/
https://stackoverflow.com/questions/28924355/gcc-assembler-preprocessor-not-compatible-with-standard-headers
https://forums.raspberrypi.com/viewtopic.php?p=1652944#p1653834
https://github.com/riscv-software-src/opensbi/issues/199
To avoid confusion in the future, it would make sense to standardize
on the macro that gets defined by the compiler, so this patch series
changes all occurances of __ASSEMBLY__ into __ASSEMBLER__.
I split the patches per architecture to ease the review, and I also
split the uapi headers from the normal ones in case we decide that
uapi needs to be treated differently from the normal headers here.
Many other architecture maintainers already merged the patches, e.g.
the x86, parisc and sh patches already got merged via their specific
architecture tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=24a295e4ef1ca8
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a141be3233af7
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cccaea1d66e94b
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e2b6a188625a2b
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9cc646950eefda
So I assume the powerpc patches should go via the powerpc tree.
v3:
- Improved the patch descriptions a little bit
Thomas Huth (2):
powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in uapi headers
powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers
arch/powerpc/boot/page.h | 2 +-
arch/powerpc/include/asm/asm-const.h | 2 +-
arch/powerpc/include/asm/barrier.h | 2 +-
arch/powerpc/include/asm/book3s/32/kup.h | 4 ++--
arch/powerpc/include/asm/book3s/32/mmu-hash.h | 8 ++++----
arch/powerpc/include/asm/book3s/32/pgtable.h | 12 ++++++------
arch/powerpc/include/asm/book3s/64/hash-4k.h | 4 ++--
arch/powerpc/include/asm/book3s/64/hash-64k.h | 4 ++--
arch/powerpc/include/asm/book3s/64/hash.h | 4 ++--
arch/powerpc/include/asm/book3s/64/kup.h | 6 +++---
arch/powerpc/include/asm/book3s/64/mmu-hash.h | 12 ++++++------
arch/powerpc/include/asm/book3s/64/mmu.h | 8 ++++----
arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 4 ++--
arch/powerpc/include/asm/book3s/64/pgtable.h | 10 +++++-----
arch/powerpc/include/asm/book3s/64/radix.h | 8 ++++----
arch/powerpc/include/asm/book3s/64/slice.h | 4 ++--
arch/powerpc/include/asm/bug.h | 14 +++++++-------
arch/powerpc/include/asm/cache.h | 4 ++--
arch/powerpc/include/asm/cpu_has_feature.h | 4 ++--
arch/powerpc/include/asm/cpuidle.h | 2 +-
arch/powerpc/include/asm/cputable.h | 8 ++++----
arch/powerpc/include/asm/cputhreads.h | 4 ++--
arch/powerpc/include/asm/dcr-native.h | 4 ++--
arch/powerpc/include/asm/dcr.h | 4 ++--
arch/powerpc/include/asm/epapr_hcalls.h | 4 ++--
arch/powerpc/include/asm/exception-64e.h | 2 +-
arch/powerpc/include/asm/exception-64s.h | 6 +++---
arch/powerpc/include/asm/extable.h | 2 +-
arch/powerpc/include/asm/feature-fixups.h | 6 +++---
arch/powerpc/include/asm/firmware.h | 4 ++--
arch/powerpc/include/asm/fixmap.h | 4 ++--
arch/powerpc/include/asm/ftrace.h | 8 ++++----
arch/powerpc/include/asm/head-64.h | 4 ++--
arch/powerpc/include/asm/hvcall.h | 4 ++--
arch/powerpc/include/asm/hw_irq.h | 4 ++--
arch/powerpc/include/asm/interrupt.h | 4 ++--
arch/powerpc/include/asm/irqflags.h | 2 +-
arch/powerpc/include/asm/jump_label.h | 2 +-
arch/powerpc/include/asm/kasan.h | 4 ++--
arch/powerpc/include/asm/kdump.h | 4 ++--
arch/powerpc/include/asm/kexec.h | 4 ++--
arch/powerpc/include/asm/kgdb.h | 4 ++--
arch/powerpc/include/asm/kup.h | 8 ++++----
arch/powerpc/include/asm/kvm_asm.h | 2 +-
arch/powerpc/include/asm/kvm_book3s_asm.h | 6 +++---
arch/powerpc/include/asm/kvm_booke_hv_asm.h | 4 ++--
arch/powerpc/include/asm/lv1call.h | 4 ++--
arch/powerpc/include/asm/mmu.h | 8 ++++----
arch/powerpc/include/asm/mpc52xx.h | 12 ++++++------
arch/powerpc/include/asm/nohash/32/kup-8xx.h | 4 ++--
arch/powerpc/include/asm/nohash/32/mmu-44x.h | 4 ++--
arch/powerpc/include/asm/nohash/32/mmu-8xx.h | 4 ++--
arch/powerpc/include/asm/nohash/32/pgtable.h | 12 ++++++------
arch/powerpc/include/asm/nohash/32/pte-8xx.h | 2 +-
arch/powerpc/include/asm/nohash/64/pgtable-4k.h | 8 ++++----
arch/powerpc/include/asm/nohash/64/pgtable.h | 4 ++--
arch/powerpc/include/asm/nohash/kup-booke.h | 4 ++--
arch/powerpc/include/asm/nohash/mmu-e500.h | 4 ++--
arch/powerpc/include/asm/nohash/pgtable.h | 6 +++---
arch/powerpc/include/asm/nohash/pte-e500.h | 4 ++--
arch/powerpc/include/asm/opal-api.h | 4 ++--
arch/powerpc/include/asm/opal.h | 4 ++--
arch/powerpc/include/asm/page.h | 14 +++++++-------
arch/powerpc/include/asm/page_32.h | 4 ++--
arch/powerpc/include/asm/page_64.h | 4 ++--
arch/powerpc/include/asm/pgtable.h | 8 ++++----
arch/powerpc/include/asm/ppc_asm.h | 4 ++--
arch/powerpc/include/asm/processor.h | 8 ++++----
arch/powerpc/include/asm/ptrace.h | 6 +++---
arch/powerpc/include/asm/reg.h | 6 +++---
arch/powerpc/include/asm/reg_booke.h | 4 ++--
arch/powerpc/include/asm/reg_fsl_emb.h | 4 ++--
arch/powerpc/include/asm/setup.h | 4 ++--
arch/powerpc/include/asm/smp.h | 4 ++--
arch/powerpc/include/asm/spu_csa.h | 4 ++--
arch/powerpc/include/asm/synch.h | 4 ++--
arch/powerpc/include/asm/thread_info.h | 8 ++++----
arch/powerpc/include/asm/tm.h | 4 ++--
arch/powerpc/include/asm/types.h | 4 ++--
arch/powerpc/include/asm/unistd.h | 4 ++--
arch/powerpc/include/asm/vdso.h | 6 +++---
arch/powerpc/include/asm/vdso/getrandom.h | 4 ++--
arch/powerpc/include/asm/vdso/gettimeofday.h | 4 ++--
arch/powerpc/include/asm/vdso/processor.h | 4 ++--
arch/powerpc/include/asm/vdso/vsyscall.h | 4 ++--
arch/powerpc/include/asm/vdso_datapage.h | 6 +++---
arch/powerpc/include/uapi/asm/opal-prd.h | 4 ++--
arch/powerpc/include/uapi/asm/ptrace.h | 12 ++++++------
arch/powerpc/include/uapi/asm/types.h | 4 ++--
arch/powerpc/kernel/head_booke.h | 4 ++--
arch/powerpc/net/bpf_jit.h | 2 +-
arch/powerpc/platforms/powernv/subcore.h | 4 ++--
arch/powerpc/xmon/xmon_bpts.h | 4 ++--
.../selftests/powerpc/include/instructions.h | 2 +-
94 files changed, 240 insertions(+), 240 deletions(-)
--
2.50.1
next reply other threads:[~2025-08-01 8:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-01 8:20 Thomas Huth [this message]
2025-08-01 8:20 ` [PATCH v3 1/2] powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in uapi headers Thomas Huth
2025-08-01 8:20 ` [PATCH v3 2/2] powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers Thomas Huth
2025-09-06 10:07 ` [PATCH v3 0/2] powerpc: Replace __ASSEMBLY__ with __ASSEMBLER__ in header files Madhavan Srinivasan
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=20250801082007.32904-1-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=christophe.leroy@csgroup.eu \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=mpe@ellerman.id.au \
/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 NNTP newsgroup(s).