[kvm-unit-tests PATCH v1 01/18] Makefile: Define __ASSEMBLY__ for assembly files

Shaoqin Huang
2023-11-30T09:08:01Z

There are 25 header files today (found with grep -r "#ifndef __ASSEMBLY__)
with functionality relies on the __ASSEMBLY__ prepocessor constant being
correctly defined to work correctly. So far, kvm-unit-tests has relied on
the assembly files to define the constant before including any header
files which depend on it.

Let's make sure that nobody gets this wrong and define it as a compiler
constant when compiling assembly files. __ASSEMBLY__ is now defined for all
.S files, even those that didn't set it explicitely before.

Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
---
Makefile | 5 ++++-
arm/cstart.S | 1 -
arm/cstart64.S | 1 -
powerpc/cstart64.S | 1 -
4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 602910dd..27ed14e6 100644
--- a/Makefile
+++ b/Makefile
@@ -92,6 +92,9 @@ CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes

autodepend-flags = -MMD -MP -MF $(dir $*).$(notdir $*).d

+AFLAGS = $(CFLAGS)
+AFLAGS += -D__ASSEMBLY__
+
LDFLAGS += -nostdlib $(no_pie) -z noexecstack

$(libcflat): $(cflatobjs)
@@ -113,7 +116,7 @@ directories:
@mkdir -p $(OBJDIRS)

%.o: %.S
- $(CC) $(CFLAGS) -c -nostdlib -o $@ $<
+ $(CC) $(AFLAGS) -c -nostdlib -o $@ $<

-include */.*.d */*/.*.d

diff --git a/arm/cstart.S b/arm/cstart.S
index 3dd71ed9..b24ecabc 100644
--- a/arm/cstart.S
+++ b/arm/cstart.S
@@ -5,7 +5,6 @@
*
* This work is licensed under the terms of the GNU LGPL, version 2.
*/
-#define __ASSEMBLY__
#include <auxinfo.h>
#include <asm/assembler.h>
#include <asm/thread_info.h>
diff --git a/arm/cstart64.S b/arm/cstart64.S
index bc2be45a..a8ad6dc8 100644
--- a/arm/cstart64.S
+++ b/arm/cstart64.S
@@ -5,7 +5,6 @@
*
* This work is licensed under the terms of the GNU GPL, version 2.
*/
-#define __ASSEMBLY__
#include <auxinfo.h>
#include <asm/asm-offsets.h>
#include <asm/assembler.h>
diff --git a/powerpc/cstart64.S b/powerpc/cstart64.S
index 34e39341..fa32ef24 100644
--- a/powerpc/cstart64.S
+++ b/powerpc/cstart64.S
@@ -5,7 +5,6 @@
*
* This work is licensed under the terms of the GNU LGPL, version 2.
*/
-#define __ASSEMBLY__
#include <asm/hcall.h>
#include <asm/ppc_asm.h>
#include <asm/rtas.h>
--
2.40.1