Skip to contentSkip to conversation

lttng-ust: fix ppc build

PATCH Applied Dexuan Cui 2 participants 3 messages Feb 10, 2011

lore
Share & tools
lore

Dexuan Cui

author
#0 lore raw

cover lttng-ust: fix ppc build

From: Dexuan Cui <[email protected]>

Here I introduced a patch from lttng mailing list to fix ppc build:
http://lists.casi.polymtl.ca/pipermail/ltt-dev/2011-February/003903.html

The patch looks good and I think it would be in next release. At present, let's add it into SRC_URI.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master

Thanks,
Dexuan Cui <[email protected]>
---

Dexuan Cui (1):
lttng-ust: fix ppc build by removing ppc specific time reading
function

 ...remove_ppc_specific_time_reading_function.patch |   85 ++++++++++++++++++++
 meta/recipes-kernel/lttng/lttng-ust_0.11.bb        |    6 +-
 2 files changed, 89 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-kernel/lttng/lttng-ust-0.11/remove_ppc_specific_time_reading_function.patch
Signature · 1 line
1.7.2
author
#1 lore raw

PATCH 1/1 lttng-ust: fix ppc build by removing ppc specific time reading function

From: Dexuan Cui <[email protected]>

Here I introduced a patch from lttng mailing list to fix ppc build. See the patch for more details.

---
 ...remove_ppc_specific_time_reading_function.patch |   85 ++++++++++++++++++++
 meta/recipes-kernel/lttng/lttng-ust_0.11.bb        |    6 +-
 2 files changed, 89 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-kernel/lttng/lttng-ust-0.11/remove_ppc_specific_time_reading_function.patch
meta/recipes-kernel/lttng/lttng-ust-0.11/remove_ppc_specific_time_reading_function.patch new file +85 -0
new file mode 100644
index 0000000..c5487fd
@@ -0,0 +1,85 @@
+Dexuan Cui <[email protected]>: I got the following patch from lttng dev
+mailing list:
+http://lists.casi.polymtl.ca/pipermail/ltt-dev/2011-February/003903.html
+The patch looks good and I think it would be in next release. At present,
+let's add it into SRC_URI.
+
+-----------------------------------------------------------------
+The PPC version of the trace_clock_read64 was using the TB register
+which is not constant accross implementations. The currently
+measured time base on PPC was not accurate.
+So, for now, we rely on the CLOCK_MONOTONIC.
+
+This patch remove a bunch of #ifdef for x86 and PPC, since we now rely on
+the same base clock. It also fix the build on PPC that was currently broken
+
+Signed-off-by: Yannick Brosseau <[email protected]>
+-----------------------------------------------------------------
+
+--- a/include/ust/clock.h
++++ b/include/ust/clock.h
+@@ -39,7 +39,6 @@
+    precision and monotonicity.
+ */
+ 
+-#if __i386__ || __x86_64__
+ /* Only available for x86 arch */
+ #define CLOCK_TRACE_FREQ  14
+ #define CLOCK_TRACE  15
+@@ -47,36 +46,10 @@
+ 	struct timespec ts;
+ 	u64 lttng_ts;
+ };
+-#endif /* __i386__ || __x86_64__ */
+ 
+ extern int ust_clock_source;
+ 
+ /* Choosing correct trace clock */
+-#if __PPC__
+-static __inline__ u64 trace_clock_read64(void)
+-{
+-	unsigned long tb_l;
+-	unsigned long tb_h;
+-	unsigned long tb_h2;
+-	u64 tb;
+-
+-	__asm__ (
+-		"1:\n\t"
+-		"mftbu %[rhigh]\n\t"
+-		"mftb %[rlow]\n\t"
+-		"mftbu %[rhigh2]\n\t"
+-		"cmpw %[rhigh],%[rhigh2]\n\t"
+-		"bne 1b\n\t"
+-		: [rhigh] "=r" (tb_h), [rhigh2] "=r" (tb_h2), [rlow] "=r" (tb_l));
+-
+-	tb = tb_h;
+-	tb <<= 32;
+-	tb |= tb_l;
+-
+-	return tb;
+-}
+-
+-#else	/* !__PPC__ */
+ 
+ static __inline__ u64 trace_clock_read64(void)
+ {
+@@ -101,17 +74,17 @@
+ 	return retval;
+ }
+ 
+-#endif /* __PPC__ */
+-
+ static __inline__ u64 trace_clock_frequency(void)
+ {
+ 	struct timespec ts;
+ 	union lttng_timespec *lts = (union lttng_timespec *) &ts;
+ 
++#if __i386__ || __x86_64__
+ 	if (likely(ust_clock_source == CLOCK_TRACE)) {
+ 		clock_gettime(CLOCK_TRACE_FREQ, &ts);
+ 		return lts->lttng_ts;
+ 	}
++#endif
+ 	return 1000000000LL;
+ }
+ 
meta/recipes-kernel/lttng/lttng-ust_0.11.bb +4 -2
index 575e35a..9d2063a 100644
@@ -10,9 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e647752e045a8c45b6f583771bd561ef \
 
 DEPENDS = "liburcu"
 
-PR = "r0"
+PR = "r1"
 
-SRC_URI = "http://lttng.org/files/ust/releases/ust-${PV}.tar.gz"
+SRC_URI = "http://lttng.org/files/ust/releases/ust-${PV}.tar.gz \
+           file://remove_ppc_specific_time_reading_function.patch \
+           "
 
 SRC_URI[md5sum] = "0a23fa60df4da3fb5188e314001eb49c"
 SRC_URI[sha256sum] = "af8f699019ae260103bb401b6738d5e417e79732a509859b42a52e9a0f5edb35"
Signature · 1 line
1.7.2
#2 lore raw
In reply to Dexuan Cui
Quoted 8 lines · Dexuan Cui

From: Dexuan Cui <[email protected]>

Here I introduced a patch from lttng mailing list to fix ppc build:
http://lists.casi.polymtl.ca/pipermail/ltt-dev/2011-February/003903.html

The patch looks good and I think it would be in next release. At present, let's add it into SRC_URI.

Quoted 6 lines

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master

Thanks,
Dexuan Cui <[email protected]>

Merged to master, thanks.

Richard