--- /dev/null
+From ndesaulniers@google.com Thu Mar 16 09:23:48 2023
+From: Nick Desaulniers <ndesaulniers@google.com>
+Date: Wed, 15 Mar 2023 14:40:59 -0700
+Subject: Makefile: use -gdwarf-{4|5} for assembler for DEBUG_INFO_DWARF{4|5}
+To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, sashal@kernel.org, stable@vger.kernel.org
+Cc: Masahiro Yamada <masahiroy@kernel.org>, Nathan Chancellor <nathan@kernel.org>, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, Nick Desaulniers <ndesaulniers@google.com>, Lecopzer Chen <lecopzer.chen@mediatek.com>
+Message-ID: <20230315214059.395939-1-ndesaulniers@google.com>
+
+From: Nick Desaulniers <ndesaulniers@google.com>
+
+This is _not_ an upstream commit and just for 5.15.y only. It is based
+on upstream
+commit 32ef9e5054ec ("Makefile.debug: re-enable debug info for .S files").
+
+When the user has chosen not to use their compiler's implicit default
+DWARF version (which changes over time) via selecting
+- CONFIG_DEBUG_INFO_DWARF4 or
+- CONFIG_DEBUG_INFO_DWARF5
+we need to tell the compiler this for Asm sources as well as C sources.
+(We use the compiler to drive assembler jobs in kbuild, since most asm
+needs to be preprocessed first). Otherwise, we will get object files
+built from Asm sources with the compiler's implicit default DWARF
+version.
+
+For example, selecting CONFIG_DEBUG_INFO_DWARF4 would produce a DWARFv5
+vmlinux, since it was a mix of DWARFv4 object files from C sources and
+DWARFv5 object files from Asm sources when using Clang as the assembler
+(ex. `make LLVM=1`).
+
+Fixes: 0ee2f0567a56 ("Makefile.debug: re-enable debug info for .S files")
+Reported-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
+Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/Makefile
++++ b/Makefile
+@@ -888,6 +888,7 @@ ifndef CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN
+ dwarf-version-$(CONFIG_DEBUG_INFO_DWARF4) := 4
+ dwarf-version-$(CONFIG_DEBUG_INFO_DWARF5) := 5
+ DEBUG_CFLAGS += -gdwarf-$(dwarf-version-y)
++KBUILD_AFLAGS += -gdwarf-$(dwarf-version-y)
+ endif
+
+ ifdef CONFIG_DEBUG_INFO_REDUCED