MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/7244
JIRA: https://issues.redhat.com/browse/RHEL-107194
This Merge Request intends to fix an error with the buildcheck test QE runs. It builds the kernel using a separate output directory for the build artifacts. The core of the problem is that some backports in RHEL 9 are already using a new way to reference the source directory used upstream, but those backports failed to bring the necessary kbuild changes to use it. The core of the Merge Request here is commit "kbuild: use $(src) instead of $(srctree)/$(src) for source directory", which is the main change required. All other changes are dependencies/pre-requisites or fixes to this change. With changes below, using the build with a separate output directory is then fixed.
- Makefile: add $(srctree) to dependency of compile_commands.json target (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- kbuild: scripts/gdb: bring the "abspath" back (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- kbuild: Use $(obj)/%.cc to fix host C++ module builds (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- kbuild: scripts/gdb: Replace missed $(srctree)/$(src) w/ $(src) (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- kbuild: use $(src) instead of $(srctree)/$(src) for source directory (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- kbuild: use $(obj)/ instead of $(src)/ for common pattern rules (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- kbuild: do not add $(srctree) or $(objtree) to header search paths (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- arch: use $(obj)/ instead of $(src)/ for preprocessed linker scripts (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- arm64: vdso32: Remove unused vdso32-offsets.h (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- staging: vc04_services: interface: Drop include Makefile directive (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- staging: vc04_services: vchiq-mmal: Drop include Makefile directive (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- staging: vc04_services: bcm2835-camera: Drop include Makefile directive (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- staging: vc04_services: bcm2835-audio: Drop include Makefile directive (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- certs: check-in the default x509 config file (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- sparc: move the install rule to arch/sparc/Makefile (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- riscv: move the (z)install rules to arch/riscv/Makefile (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- powerpc: move the install rule to arch/powerpc/Makefile (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- powerpc: make the install target not depend on any build artifact (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- powerpc: remove unused zInstall target from arch/powerpc/boot/Makefile (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- nios2: move the install rule to arch/nios2/Makefile (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
- ARM: 9102/1: move theinstall rules to arch/arm/Makefile (Herton R. Krzesinski) [[RHEL-107194](https://issues.redhat.com/browse/RHEL-107194)]
Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
Approved-by: Tony Camuso <tcamuso@redhat.com>
Approved-by: Waiman Long <longman@redhat.com>
Approved-by: Jan Stancek <jstancek@redhat.com>
Approved-by: David Arcari <darcari@redhat.com>
Approved-by: Rafael Aquini <raquini@redhat.com>
Approved-by: Vladis Dronov <vdronov@redhat.com>
Approved-by: Michal Schmidt <mschmidt@redhat.com>
Approved-by: José Expósito <jexposit@redhat.com>
Approved-by: Eric Auger <eric.auger@redhat.com>
Approved-by: John W. Linville <linville@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>
Merged-by: Patrick Talbert <ptalbert@redhat.com>