diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-04-16 13:13:48 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-04-16 22:11:08 +0100 |
commit | db45a970740a18c320b780506429fc3e0749004d (patch) | |
tree | 88e1599446434bf500e47b98d99cdc57a0b3e0c9 | |
parent | bef8d8d3bd2d96fb62734071597df415c7c23f4c (diff) | |
download | poky-db45a970740a18c320b780506429fc3e0749004d.tar.gz |
linux-yocto/3.8: Makefile: add -grecord-gcc-switches if using -mfentry
Commit a2546fae [ftrace: Add -mfentry to Makefile on function tracer]
adds support for using -mfentry when possible, whenever the ftrace
CONFIG_FUNCTION_TRACER option is enabled.
This unfortunately causes bogus dwarf debuginfo to be generated:
gcc Bug 54793 - the location of a formal_parameter is not started from a
function entry with -mfentry
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54793
This can be fixed by applying the gcc patch above, which will be
present in gcc-4.8, but in the meantime, the problem is currently
being worked around in different ways by various tools. One of those
tools that we support in Yocto, Systemtap, requires the DW_AT_producer
string contain -mfentry, which means that it's assuming
record-gcc-switches is also used:
SystemTap Bug 15123 - workaround for bad debuginfo for -mfentry
http://sourceware.org/bugzilla/show_bug.cgi?id=15123
The lack of -grecord-gcc-switches and therefore a missing -mfentry
string in Yocto leads to the following Yocto bug:
Bug 4099 - Crosstap script check fails
https://bugzilla.yoctoproject.org/show_bug.cgi?id=4099
Which is what this patch intends to fix.
It only affects architectures that HAVE_FENTRY when
CONFIG_FUNCTION_TRACER is turned on and in any case is just adding to
the debuginfo, so there doesn't seem to be much risk to adding it.
(From OE-Core rev: c04f611aa4bf77867fe78a005d09434226feb62c)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb | 4 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb | 2 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto_3.8.bb | 12 |
3 files changed, 9 insertions, 9 deletions
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb index 04642a4df0..980229c7f0 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb | |||
@@ -8,8 +8,8 @@ LINUX_KERNEL_TYPE = "preempt-rt" | |||
8 | 8 | ||
9 | KMETA = "meta" | 9 | KMETA = "meta" |
10 | 10 | ||
11 | SRCREV_machine ?= "0f7d294a9d07713059af345188f9cd4f549b4e77" | 11 | SRCREV_machine ?= "fd5af245e21d80e8700d41c1ecf3fc4b2c3d2e40" |
12 | SRCREV_machine_qemuppc ?= "82cdb00523b3f86219706d9f12dc80ff8d1c747a" | 12 | SRCREV_machine_qemuppc ?= "fa8b702a32cc19e77805d91224d0409f09808c88" |
13 | SRCREV_meta ?= "27b63fdbd25ad1a37bacc05f49a205c150d21779" | 13 | SRCREV_meta ?= "27b63fdbd25ad1a37bacc05f49a205c150d21779" |
14 | 14 | ||
15 | PR = "${INC_PR}.1" | 15 | PR = "${INC_PR}.1" |
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb index 1fe4139e8f..6ef143ebb2 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb | |||
@@ -12,7 +12,7 @@ LINUX_VERSION ?= "3.8.4" | |||
12 | 12 | ||
13 | KMETA = "meta" | 13 | KMETA = "meta" |
14 | 14 | ||
15 | SRCREV_machine ?= "11998bd1f44b21cd0b8c0ca11cbd36865f14bfdc" | 15 | SRCREV_machine ?= "d9a45e3325030f7bd6f37947a7a0b12da7f602c3" |
16 | SRCREV_meta ?= "27b63fdbd25ad1a37bacc05f49a205c150d21779" | 16 | SRCREV_meta ?= "27b63fdbd25ad1a37bacc05f49a205c150d21779" |
17 | 17 | ||
18 | PR = "${INC_PR}.1" | 18 | PR = "${INC_PR}.1" |
diff --git a/meta/recipes-kernel/linux/linux-yocto_3.8.bb b/meta/recipes-kernel/linux/linux-yocto_3.8.bb index 91cc52debf..4bf6bf4009 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.8.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.8.bb | |||
@@ -3,12 +3,12 @@ require recipes-kernel/linux/linux-yocto.inc | |||
3 | KBRANCH_DEFAULT = "standard/base" | 3 | KBRANCH_DEFAULT = "standard/base" |
4 | KBRANCH = "${KBRANCH_DEFAULT}" | 4 | KBRANCH = "${KBRANCH_DEFAULT}" |
5 | 5 | ||
6 | SRCREV_machine_qemuarm ?= "ec3299eaa89a7302009e3d46c9570f633ff32e9a" | 6 | SRCREV_machine_qemuarm ?= "1473dd2b4505109d45bd7099f63826a66b71103d" |
7 | SRCREV_machine_qemumips ?= "0d60789d710808e38690f27216c3ab13753e1055" | 7 | SRCREV_machine_qemumips ?= "1695c38d04855cc225bcc1968289770f0fa0ea64" |
8 | SRCREV_machine_qemuppc ?= "223428bbc1a355200bd9a8046fd272c1b9b13e67" | 8 | SRCREV_machine_qemuppc ?= "8b39c0424704a40c740b1ac61449fdf190a8460a" |
9 | SRCREV_machine_qemux86 ?= "11998bd1f44b21cd0b8c0ca11cbd36865f14bfdc" | 9 | SRCREV_machine_qemux86 ?= "d9a45e3325030f7bd6f37947a7a0b12da7f602c3" |
10 | SRCREV_machine_qemux86-64 ?= "11998bd1f44b21cd0b8c0ca11cbd36865f14bfdc" | 10 | SRCREV_machine_qemux86-64 ?= "d9a45e3325030f7bd6f37947a7a0b12da7f602c3" |
11 | SRCREV_machine ?= "11998bd1f44b21cd0b8c0ca11cbd36865f14bfdc" | 11 | SRCREV_machine ?= "d9a45e3325030f7bd6f37947a7a0b12da7f602c3" |
12 | SRCREV_meta ?= "27b63fdbd25ad1a37bacc05f49a205c150d21779" | 12 | SRCREV_meta ?= "27b63fdbd25ad1a37bacc05f49a205c150d21779" |
13 | 13 | ||
14 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" | 14 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" |