Kbuild.include: addtree: Remove quotes before matching path (regression in 4.8)

loses: #856474
This commit is contained in:
Ben Hutchings 2017-03-04 02:19:07 +00:00
parent 79e486b59b
commit 7513bdfe2b
3 changed files with 42 additions and 0 deletions

2
debian/changelog vendored
View File

@ -2,6 +2,8 @@ linux (4.9.13-2) UNRELEASED; urgency=medium
* [media] dvb-usb: don't use stack for firmware load or reset
(Closes: #853894)
* Kbuild.include: addtree: Remove quotes before matching path
(regression in 4.8) (Closes: #856474)
-- Ben Hutchings <ben@decadent.org.uk> Wed, 01 Mar 2017 15:42:54 +0000

View File

@ -0,0 +1,39 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sat, 04 Mar 2017 01:44:15 +0000
Subject: Kbuild.include: addtree: Remove quotes before matching path
Bug-Debian: https://bugs.debian.org/856474
systemtap currently fails to build modules when the kernel source and
object trees are separate.
systemtap adds something like -I"/usr/share/systemtap/runtime" to
EXTRA_CFLAGS, and addtree should not adjust this as it's specifying an
absolute directory. But since make has no understanding of shell
quoting, it does anyway.
For a long time this didn't matter, because addtree would still emit
the original -I option after the adjusted one. However, commit
db547ef19064 ("Kbuild: don't add obj tree in additional includes")
changed it to remove the original -I option.
Remove quotes (both double and single) before matching against the
excluded patterns.
References: https://bugs.debian.org/856474
Reported-by: Jack Henschel <jackdev@mailbox.org>
Reported-by: Ritesh Raj Sarraf <rrs@debian.org>
Fixes: db547ef19064 ("Kbuild: don't add obj tree in additional includes")
Cc: stable@vger.kernel.org # 4.8+
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -207,7 +207,7 @@ hdr-inst := -f $(srctree)/scripts/Makefi
# Prefix -I with $(srctree) if it is not an absolute path.
# skip if -I has no parameter
addtree = $(if $(patsubst -I%,%,$(1)), \
-$(if $(filter-out -I/% -I./% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)))
+$(if $(filter-out -I/% -I./% -I../%,$(subst $(quote),,$(subst $(squote),,$(1)))),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)))
# Find all -I options and call addtree
flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o)))

View File

@ -81,6 +81,7 @@ bugfix/all/net-ipv6-check-route-protocol-when-deleting-routes.patch
bugfix/all/media-dvb-usb-dibusb-mc-common-add-module_license.patch
bugfix/all/media-dvb-usb-don-t-use-stack-for-firmware-load.patch
bugfix/all/media-dvb-usb-don-t-use-stack-for-reset-either.patch
bugfix/all/kbuild-include-addtree-remove-quotes-before-matching-path.patch
# Miscellaneous features