linux-yocto/4.19: integrate arm systemtap fix

Richard had pushed an explicit patch to fix systemtap for arm
on the 4.19 kernel in time for M3.

The patch has now been integrated into the repo itself and can
be dropped from the recipe.

(From OE-Core rev: 552b3cd0e0d442d867b4432e5b81019cadd2f4fa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Bruce Ashfield
2019-03-24 23:11:52 -04:00
committed by Richard Purdie
parent 3e0eb102ec
commit 4ee44b0b54
4 changed files with 12 additions and 74 deletions

View File

@@ -11,7 +11,7 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
SRCREV_machine ?= "3059029718900250904b9f587e37ba22fb949ea6"
SRCREV_machine ?= "6a02e73544953583e575a0f6c8797b6f4eb02fb7"
SRCREV_meta ?= "b173a1b0a218f2bebc28251ef08ee592652b6bc0"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \

View File

@@ -15,8 +15,8 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
SRCREV_machine_qemuarm ?= "6cc861e796ab19a6827cf9996e7755f1875d553e"
SRCREV_machine ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
SRCREV_machine_qemuarm ?= "94da18b1810c993f211e906a146adc69fbbd6304"
SRCREV_machine ?= "148322096f4147947955fa83c9863eed4ac23897"
SRCREV_meta ?= "b173a1b0a218f2bebc28251ef08ee592652b6bc0"
PV = "${LINUX_VERSION}+git${SRCPV}"

View File

@@ -1,62 +0,0 @@
From c2995494e311c113177db50ff140cebd94fd4011 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Sun, 10 Mar 2019 06:43:15 +0000
Subject: [PATCH] arm/Makefile: Fix systemtap
Currently systemtap fails to operate correctly on armv7 systems such as beaglebone and
soon, qemuarm.
root@qemuarm:/usr/src/kernel# env -uARCH -uKBUILD_EXTMOD -uCROSS_COMPILE -uKBUILD_IMAGE -uKCONFIG_CONFIG -uINSTALL_PATH -uLD_LIBRARY_PATH PATH=/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin make -C /lib/modules/4.19.19-yocto-standard/build M=/tmp/staptcNU6M modules CONFIG_DEBUG_INFO= CONFIG_STACK_VALIDATION= ARCH=arm stap_4321_src.i --no-print-directory -j2 V=1
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
mkdir -p /tmp/staptcNU6M/.tmp_versions ; rm -f /tmp/staptcNU6M/.tmp_versions/*
make -f ./scripts/Makefile.build obj=/tmp/staptcNU6M
(cat /dev/null; echo kernel//tmp/staptcNU6M/stap_4321.ko;) > /tmp/staptcNU6M/modules.order
gcc -Wp,-MD,/tmp/staptcNU6M/.stap_4321_src.o.d -nostdinc -isystem /usr/lib/gcc/arm-poky-linux-gnueabi/8.3.0/include -I./arch/arm/include -I./arch/arm/include/generated -I./include -I./arch/arm/include/uapi -I./arch/arm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -DCC_HAVE_ASM_GOTO -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -Wa,-mno-warn-deprecated -D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Os -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -Wdeclaration-after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -Iinclude2/asm/mach-default -I/lib/modules/4.19.19-yocto-standard/build -include /tmp/staptcNU6M/stapconf_4321.h -D "STP_NO_VELREL_CHECK" -freorder-blocks -fasynchronous-unwind-tables -Wframe-larger-than=512 -fno-ipa-icf -Wno-unused -Wno-tautological-compare -Werror -I/usr/share/systemtap/runtime -DMODULE -DKBUILD_BASENAME='"stap_4321_src"' -DKBUILD_MODNAME='"stap_4321"' -c -o /tmp/staptcNU6M/stap_4321_src.o /tmp/staptcNU6M/stap_4321_src.c
/tmp/ccaE9CMG.s: Assembler messages:
/tmp/ccaE9CMG.s:49: Error: selected processor does not support `dmb ish' in ARM mode
/tmp/ccaE9CMG.s:52: Error: architectural extension `mp' is not allowed for the current b
(which was from running the stap command with -v -v -v -k and then being able to run the command individually)
Note that it says armv5t above.
That comes from the code this patch changes
root@qemuarm:/usr/src/kernel# gcc -march=armv7-a /tmp/staptcNU6M/stap_4321_aux_0.c
cc1: error: -mfloat-abi=hard: selected processor lacks an FPU
which makes me wonder if cc-option fails unless -mfpu-vfp is on the commandline too.
Since we have a gcc which accepts the armv7-a arch, just remove the cc-option
wrapper unconditionally here.
Upstream-Status: Submitted [Alternative patch discussion on arm-linux mailing list]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
arch/arm/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index ecb99f7ac613..8513ba79ea04 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -64,7 +64,7 @@ KBUILD_CFLAGS += $(call cc-option,-fno-ipa-sra)
# macro, but instead defines a whole series of macros which makes
# testing for a specific architecture or later rather impossible.
arch-$(CONFIG_CPU_32v7M) =-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
-arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
+arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 -march=armv7-a -Wa$(comma)-march=armv7-a
arch-$(CONFIG_CPU_32v6) =-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
# Only override the compiler option if ARMv6. The ARMv6K extensions are
# always available in ARMv7
--
2.20.1

View File

@@ -11,19 +11,19 @@ KBRANCH_qemux86 ?= "v4.19/standard/base"
KBRANCH_qemux86-64 ?= "v4.19/standard/base"
KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64"
SRCREV_machine_qemuarm ?= "0d83500d7377b68aeb42387350bb41dd7dc04315"
SRCREV_machine_qemuarm64 ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
SRCREV_machine_qemumips ?= "0169796412b83d8835f3f9b81d19efe008199fdd"
SRCREV_machine_qemuppc ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
SRCREV_machine_qemux86 ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
SRCREV_machine_qemux86-64 ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
SRCREV_machine_qemumips64 ?= "fc7a2bf24e0e39b6a260f8650a3c8d497b8cdcfd"
SRCREV_machine ?= "11e0e616ed095bb8012e1b4a231254c9656a0193"
SRCREV_machine_qemuarm ?= "5fe7d1bfb1d030c1e696efef2ee89974874c0b01"
SRCREV_machine_qemuarm64 ?= "148322096f4147947955fa83c9863eed4ac23897"
SRCREV_machine_qemumips ?= "7ec0c72dac55c5b72c82fb3bcc4f44ff59d79c4d"
SRCREV_machine_qemuppc ?= "148322096f4147947955fa83c9863eed4ac23897"
SRCREV_machine_qemux86 ?= "148322096f4147947955fa83c9863eed4ac23897"
SRCREV_machine_qemux86-64 ?= "148322096f4147947955fa83c9863eed4ac23897"
SRCREV_machine_qemumips64 ?= "141bb3296422e09cfb0a8ef06f2e7f1748bb8f65"
SRCREV_machine ?= "148322096f4147947955fa83c9863eed4ac23897"
SRCREV_meta ?= "b173a1b0a218f2bebc28251ef08ee592652b6bc0"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
file://0001-arm-Makefile-Fix-systemtap-4.19.patch"
"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
LINUX_VERSION ?= "4.19.19"