]>
xen: add header guards to generated asm generic headers
authorStefano Stabellini <sstabellini@kernel.org>
Fri, 6 Jun 2025 20:34:17 +0000 (13:34 -0700)
committerStefano Stabellini <stefano.stabellini@amd.com>
Sat, 21 Jun 2025 02:20:05 +0000 (19:20 -0700)
MISRA D4.10 requires to have proper header guards in place in all header
files. Add header guards for generated asm generic headers as well.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/scripts/Makefile.asm-generic

index b0d356bfa3bd569888fc6c4e8da61081f98a0484..b0828018080d3dde39051af694ec4b6e1cf08a5a 100644 (file)
@@ -32,7 +32,14 @@ old-headers := $(wildcard $(obj)/*.h)
 unwanted    := $(filter-out $(generic-y) $(generated-y),$(old-headers))
 
 quiet_cmd_wrap = WRAP    $@
-      cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
+      cmd_wrap = \
+       arch=$$(echo $@ | sed -n 's:.*arch/\([^/]*\)/.*:\1:p' | tr a-z A-Z); \
+       upper=$$(echo $*.h | tr a-z A-Z | tr '/.' '__'); \
+       echo "\#ifndef $${arch}_GENERIC_$${upper}" > $@.new; \
+       echo "\#define $${arch}_GENERIC_$${upper}" >> $@.new; \
+       echo "\#include <asm-generic/$*.h>" >> $@.new; \
+       echo "\#endif /* $${arch}_GENERIC_$${upper} */" >> $@.new; \
+       mv -f $@.new $@
 
 quiet_cmd_remove = REMOVE  $(unwanted)
       cmd_remove = rm -f $(unwanted)