Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] oprofile: small set of fixes
@ 2014-12-29 11:05 Thomas Petazzoni
  2014-12-29 11:05 ` [Buildroot] [PATCH 1/3] oprofile: fix nanosleep() issue on non-threaded toolchains Thomas Petazzoni
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2014-12-29 11:05 UTC (permalink / raw)
  To: buildroot

Hello,

Here is a small set of fixes/improvements to the oprofile package: fix
autobuilder issue appearing since the 1.0.0 bump, remove no longer
needed autoreconf, and a minor cleanup.

Thomas

Thomas Petazzoni (3):
  oprofile: fix nanosleep() issue on non-threaded toolchains
  oprofile: autoreconf is no longer needed
  oprofile: cleanup the style of the OPROFILE_BINARIES definition

 .../0001-Include-time.h-for-nanosleep.patch        | 44 ++++++++++++++++++++++
 package/oprofile/oprofile.mk                       | 17 +++------
 2 files changed, 50 insertions(+), 11 deletions(-)
 create mode 100644 package/oprofile/0001-Include-time.h-for-nanosleep.patch

-- 
2.1.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 1/3] oprofile: fix nanosleep() issue on non-threaded toolchains
  2014-12-29 11:05 [Buildroot] [PATCH 0/3] oprofile: small set of fixes Thomas Petazzoni
@ 2014-12-29 11:05 ` Thomas Petazzoni
  2014-12-29 12:26   ` Thomas Petazzoni
  2014-12-29 11:05 ` [Buildroot] [PATCH 2/3] oprofile: autoreconf is no longer needed Thomas Petazzoni
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2014-12-29 11:05 UTC (permalink / raw)
  To: buildroot

This commit adds a patch to OProfile that ensures <time.h> is included
whenever nanosleep() is used, which fixes a build failure on uClibc
toolchains with no thread support.

Fixes:

  http://autobuild.buildroot.org/results/d28/d28447c1241ce3dd237710e388d799139d7d613d/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .../0001-Include-time.h-for-nanosleep.patch        | 44 ++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 package/oprofile/0001-Include-time.h-for-nanosleep.patch

diff --git a/package/oprofile/0001-Include-time.h-for-nanosleep.patch b/package/oprofile/0001-Include-time.h-for-nanosleep.patch
new file mode 100644
index 0000000..d4a9ca2
--- /dev/null
+++ b/package/oprofile/0001-Include-time.h-for-nanosleep.patch
@@ -0,0 +1,44 @@
+From c5b93c33a81d7c52dc6089387e415f2d653f758f Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Mon, 29 Dec 2014 11:43:51 +0100
+Subject: [PATCH] Include <time.h> for nanosleep()
+
+The nanosleep() function prototype is in <time.h>, so this header file
+should be included whenever nanosleep() is used. Not including it
+causes some issues when building OProfile against a non-thread capable
+version of the uClibc C library, probably because in such situation,
+<time.h> does not get included by another header.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ pe_counting/ocount.cpp | 1 +
+ pe_profiling/operf.cpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/pe_counting/ocount.cpp b/pe_counting/ocount.cpp
+index 07dfd0c..fba29eb 100644
+--- a/pe_counting/ocount.cpp
++++ b/pe_counting/ocount.cpp
+@@ -28,6 +28,7 @@
+ #include <getopt.h>
+ #include <sys/time.h>
+ #include <math.h>
++#include <time.h>
+ 
+ #include "op_pe_utils.h"
+ #include "ocount_counter.h"
+diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp
+index 04a25d9..4238754 100644
+--- a/pe_profiling/operf.cpp
++++ b/pe_profiling/operf.cpp
+@@ -33,6 +33,7 @@
+ #include <sys/wait.h>
+ #include <ftw.h>
+ #include <getopt.h>
++#include <time.h>
+ #include <iostream>
+ #include "operf_utils.h"
+ #include "op_pe_utils.h"
+-- 
+2.1.0
+
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 2/3] oprofile: autoreconf is no longer needed
  2014-12-29 11:05 [Buildroot] [PATCH 0/3] oprofile: small set of fixes Thomas Petazzoni
  2014-12-29 11:05 ` [Buildroot] [PATCH 1/3] oprofile: fix nanosleep() issue on non-threaded toolchains Thomas Petazzoni
@ 2014-12-29 11:05 ` Thomas Petazzoni
  2014-12-29 11:05 ` [Buildroot] [PATCH 3/3] oprofile: cleanup the style of the OPROFILE_BINARIES definition Thomas Petazzoni
  2014-12-30 23:25 ` [Buildroot] [PATCH 0/3] oprofile: small set of fixes Peter Korsgaard
  3 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2014-12-29 11:05 UTC (permalink / raw)
  To: buildroot

OPROFILE_AUTORECONF = YES was added in commit
99fc6299dbceaf6d58be2fb516a346451968a704 ("oprofile 0.9.8: fix
compilation on powerpc") together with a patch touching
configure.ac. However, since then, OProfile was bumped to 0.9.9 and
then 1.0.0, and through those bumps, all patches touching configure.ac
and .m4 files have been removed since they have been merged
upstream. AUTORECONF = YES is therefore no longer necessary, and an
OProfile build was successfully tested with autoreconfiguring the
package.

We can also remove the OPROFILE_CREATE_FILES post-patch hook, which
was only needed to create files required by the autoreconf process.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/oprofile/oprofile.mk | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk
index d40c8be..0c884b9 100644
--- a/package/oprofile/oprofile.mk
+++ b/package/oprofile/oprofile.mk
@@ -12,7 +12,6 @@ OPROFILE_CONF_OPTS = \
 	--disable-account-check \
 	--enable-gui=no \
 	--with-kernel=$(STAGING_DIR)/usr
-OPROFILE_AUTORECONF = YES
 OPROFILE_BINARIES = utils/ophelp pp/opannotate pp/oparchive pp/opgprof
 OPROFILE_BINARIES += pp/opreport opjitconv/opjitconv
 OPROFILE_BINARIES += utils/op-check-perfevents libabi/opimport
@@ -45,12 +44,6 @@ ifeq ($(BR2_PACKAGE_LIBPFM4),y)
 OPROFILE_DEPENDENCIES += libpfm4
 endif
 
-define OPROFILE_CREATE_FILES
-	touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/ChangeLog
-endef
-
-OPROFILE_POST_PATCH_HOOKS += OPROFILE_CREATE_FILES
-
 define OPROFILE_INSTALL_TARGET_CMDS
 	$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/bin
 	$(INSTALL) -d -m 755 $(TARGET_DIR)/usr/share/oprofile
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 3/3] oprofile: cleanup the style of the OPROFILE_BINARIES definition
  2014-12-29 11:05 [Buildroot] [PATCH 0/3] oprofile: small set of fixes Thomas Petazzoni
  2014-12-29 11:05 ` [Buildroot] [PATCH 1/3] oprofile: fix nanosleep() issue on non-threaded toolchains Thomas Petazzoni
  2014-12-29 11:05 ` [Buildroot] [PATCH 2/3] oprofile: autoreconf is no longer needed Thomas Petazzoni
@ 2014-12-29 11:05 ` Thomas Petazzoni
  2014-12-30 23:25 ` [Buildroot] [PATCH 0/3] oprofile: small set of fixes Peter Korsgaard
  3 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2014-12-29 11:05 UTC (permalink / raw)
  To: buildroot

There is no need to repeat OPROFILE_BINARIES += many times to add more
values to the variable. Just define it once with all the values, as we
do everywhere else in Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/oprofile/oprofile.mk | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk
index 0c884b9..1322d9d 100644
--- a/package/oprofile/oprofile.mk
+++ b/package/oprofile/oprofile.mk
@@ -12,10 +12,12 @@ OPROFILE_CONF_OPTS = \
 	--disable-account-check \
 	--enable-gui=no \
 	--with-kernel=$(STAGING_DIR)/usr
-OPROFILE_BINARIES = utils/ophelp pp/opannotate pp/oparchive pp/opgprof
-OPROFILE_BINARIES += pp/opreport opjitconv/opjitconv
-OPROFILE_BINARIES += utils/op-check-perfevents libabi/opimport
-OPROFILE_BINARIES += pe_counting/ocount
+
+OPROFILE_BINARIES = \
+	utils/ophelp pp/opannotate pp/oparchive pp/opgprof \
+	pp/opreport opjitconv/opjitconv \
+	utils/op-check-perfevents libabi/opimport \
+	pe_counting/ocount
 
 # No perf_events support in kernel for avr32
 ifneq ($(BR2_avr32),y)
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 1/3] oprofile: fix nanosleep() issue on non-threaded toolchains
  2014-12-29 11:05 ` [Buildroot] [PATCH 1/3] oprofile: fix nanosleep() issue on non-threaded toolchains Thomas Petazzoni
@ 2014-12-29 12:26   ` Thomas Petazzoni
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2014-12-29 12:26 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 29 Dec 2014 12:05:11 +0100, Thomas Petazzoni wrote:

> diff --git a/package/oprofile/0001-Include-time.h-for-nanosleep.patch b/package/oprofile/0001-Include-time.h-for-nanosleep.patch
> new file mode 100644
> index 0000000..d4a9ca2
> --- /dev/null
> +++ b/package/oprofile/0001-Include-time.h-for-nanosleep.patch
> @@ -0,0 +1,44 @@
> +From c5b93c33a81d7c52dc6089387e415f2d653f758f Mon Sep 17 00:00:00 2001
> +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> +Date: Mon, 29 Dec 2014 11:43:51 +0100
> +Subject: [PATCH] Include <time.h> for nanosleep()
> +
> +The nanosleep() function prototype is in <time.h>, so this header file
> +should be included whenever nanosleep() is used. Not including it
> +causes some issues when building OProfile against a non-thread capable
> +version of the uClibc C library, probably because in such situation,
> +<time.h> does not get included by another header.
> +
> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Patch sent upstream at https://sourceforge.net/p/oprofile/bugs/277/.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH 0/3] oprofile: small set of fixes
  2014-12-29 11:05 [Buildroot] [PATCH 0/3] oprofile: small set of fixes Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2014-12-29 11:05 ` [Buildroot] [PATCH 3/3] oprofile: cleanup the style of the OPROFILE_BINARIES definition Thomas Petazzoni
@ 2014-12-30 23:25 ` Peter Korsgaard
  3 siblings, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2014-12-30 23:25 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Hello,
 > Here is a small set of fixes/improvements to the oprofile package: fix
 > autobuilder issue appearing since the 1.0.0 bump, remove no longer
 > needed autoreconf, and a minor cleanup.

 > Thomas

 > Thomas Petazzoni (3):
 >   oprofile: fix nanosleep() issue on non-threaded toolchains
 >   oprofile: autoreconf is no longer needed
 >   oprofile: cleanup the style of the OPROFILE_BINARIES definition

Committed series, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-12-30 23:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-29 11:05 [Buildroot] [PATCH 0/3] oprofile: small set of fixes Thomas Petazzoni
2014-12-29 11:05 ` [Buildroot] [PATCH 1/3] oprofile: fix nanosleep() issue on non-threaded toolchains Thomas Petazzoni
2014-12-29 12:26   ` Thomas Petazzoni
2014-12-29 11:05 ` [Buildroot] [PATCH 2/3] oprofile: autoreconf is no longer needed Thomas Petazzoni
2014-12-29 11:05 ` [Buildroot] [PATCH 3/3] oprofile: cleanup the style of the OPROFILE_BINARIES definition Thomas Petazzoni
2014-12-30 23:25 ` [Buildroot] [PATCH 0/3] oprofile: small set of fixes Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox