* [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 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 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 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