Legacy code was dropped in the new version, so we don't need patch for
that anymore.

On the other hand a new compiling bug appeared, see:
https://sourceforge.net/p/oprofile/bugs/245/
It's related to the uClibc, so we need a workaround for it.

Signed-off-by: Rafał Miłecki <zaj...@gmail.com>
---
 package/devel/oprofile/Makefile                    |    6 +-
 .../0001-Use-insmod-instead-of-modprobe.patch      |   25 ++++++++
 ...und-for-lacking-AT_BASE_PLATFORM-in-uClib.patch |   28 +++++++++
 .../100-use_insmod_instead_of_modprobe.patch       |   20 ------
 .../oprofile/patches/101-remove_24_support.patch   |   64 --------------------
 5 files changed, 56 insertions(+), 87 deletions(-)
 create mode 100644 
package/devel/oprofile/patches/0001-Use-insmod-instead-of-modprobe.patch
 create mode 100644 
package/devel/oprofile/patches/0002-Add-workaround-for-lacking-AT_BASE_PLATFORM-in-uClib.patch
 delete mode 100644 
package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch
 delete mode 100644 package/devel/oprofile/patches/101-remove_24_support.patch

diff --git a/package/devel/oprofile/Makefile b/package/devel/oprofile/Makefile
index 884c54b..f69b3ec 100644
--- a/package/devel/oprofile/Makefile
+++ b/package/devel/oprofile/Makefile
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=oprofile
-PKG_VERSION:=0.9.7
+PKG_VERSION:=0.9.9
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/oprofile/
-PKG_MD5SUM:=8b5d1d9b65f84420bcc3234777ad3be3
+PKG_MD5SUM:=00aec1287da2dfffda17a9b1c0a01868
 
 PKG_MAINTAINER:=Felix Fietkau <n...@openwrt.org>
 
@@ -30,7 +30,7 @@ define Package/oprofile
   CATEGORY:=Development
   TITLE:=OProfile System Profiler
   URL:=http://oprofile.sourceforge.net
-  DEPENDS:=+libpopt +kmod-oprofile +libstdcpp +objdump
+  DEPENDS:=+libpopt +librt +kmod-oprofile +libstdcpp +objdump
 endef
 
 define Package/oprofile/description
diff --git 
a/package/devel/oprofile/patches/0001-Use-insmod-instead-of-modprobe.patch 
b/package/devel/oprofile/patches/0001-Use-insmod-instead-of-modprobe.patch
new file mode 100644
index 0000000..b5745e0
--- /dev/null
+++ b/package/devel/oprofile/patches/0001-Use-insmod-instead-of-modprobe.patch
@@ -0,0 +1,25 @@
+From 23b8f78de0860d6ba4cfe5425a3066ab9c2040bc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zaj...@gmail.com>
+Date: Thu, 8 Aug 2013 19:48:25 +0200
+Subject: [PATCH] Use insmod instead of modprobe
+
+---
+ utils/opcontrol |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/opcontrol b/utils/opcontrol
+index 38bb1ac..cbd51d4 100644
+--- a/utils/opcontrol
++++ b/utils/opcontrol
+@@ -249,7 +249,7 @@ load_module_26()
+ {
+       grep oprofilefs /proc/filesystems >/dev/null
+       if test "$?" -ne 0; then
+-              modprobe oprofile
++              insmod oprofile
+               if test "$?" != "0"; then
+                       # couldn't load the module
+                       return
+-- 
+1.7.10.4
+
diff --git 
a/package/devel/oprofile/patches/0002-Add-workaround-for-lacking-AT_BASE_PLATFORM-in-uClib.patch
 
b/package/devel/oprofile/patches/0002-Add-workaround-for-lacking-AT_BASE_PLATFORM-in-uClib.patch
new file mode 100644
index 0000000..8840bdd
--- /dev/null
+++ 
b/package/devel/oprofile/patches/0002-Add-workaround-for-lacking-AT_BASE_PLATFORM-in-uClib.patch
@@ -0,0 +1,28 @@
+From ebca2d2af34368e348989e13586bb2a75c744735 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zaj...@gmail.com>
+Date: Thu, 8 Aug 2013 23:20:33 +0200
+Subject: [PATCH] Add workaround for lacking AT_BASE_PLATFORM in uClibc
+
+---
+ libop/op_cpu_type.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libop/op_cpu_type.c b/libop/op_cpu_type.c
+index 44d6809..8742227 100644
+--- a/libop/op_cpu_type.c
++++ b/libop/op_cpu_type.c
+@@ -26,6 +26,11 @@
+ #include "op_cpu_type.h"
+ #include "op_hw_specific.h"
+ 
++/* uClibc workaround, see https://sourceforge.net/p/oprofile/bugs/245/ */
++#ifndef AT_BASE_PLATFORM
++#define AT_BASE_PLATFORM      24
++#endif
++
+ struct cpu_descr {
+       char const * pretty;
+       char const * name;
+-- 
+1.7.10.4
+
diff --git 
a/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch 
b/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch
deleted file mode 100644
index 1010798..0000000
--- a/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/utils/opcontrol
-+++ b/utils/opcontrol
-@@ -248,7 +248,7 @@ load_module_26()
- {
-       grep oprofilefs /proc/filesystems >/dev/null
-       if test "$?" -ne 0; then
--              modprobe oprofile
-+              insmod oprofile
-               if test "$?" != "0"; then
-                       # couldn't load the module
-                       return
-@@ -278,7 +278,7 @@ load_module_24()
- {
-       grep oprof /proc/devices >/dev/null
-       if test "$?" -ne 0; then
--              modprobe oprofile
-+              insmod oprofile
-               if test "$?" != "0"; then
-                       # couldn't load a module
-                       return
diff --git a/package/devel/oprofile/patches/101-remove_24_support.patch 
b/package/devel/oprofile/patches/101-remove_24_support.patch
deleted file mode 100644
index 99eb928..0000000
--- a/package/devel/oprofile/patches/101-remove_24_support.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/daemon/Makefile.am
-+++ b/daemon/Makefile.am
-@@ -1,4 +1,4 @@
--SUBDIRS = liblegacy .
-+SUBDIRS = .
- 
- oprofiled_SOURCES = \
-       init.c \
-@@ -49,7 +49,6 @@ AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame-
- bin_PROGRAMS = oprofiled
- 
- oprofiled_LDADD = \
--      liblegacy/liblegacy.a \
-       ../libabi/libabi.a \
-       ../libdb/libodb.a \
-       ../libop/libop.a \
---- a/daemon/Makefile.in
-+++ b/daemon/Makefile.in
-@@ -70,7 +70,7 @@ am_oprofiled_OBJECTS = init.$(OBJEXT) op
-       opd_extended.$(OBJEXT) opd_ibs.$(OBJEXT) \
-       opd_ibs_trans.$(OBJEXT)
- oprofiled_OBJECTS = $(am_oprofiled_OBJECTS)
--oprofiled_DEPENDENCIES = liblegacy/liblegacy.a ../libabi/libabi.a \
-+oprofiled_DEPENDENCIES = ../libabi/libabi.a \
-       ../libdb/libodb.a ../libop/libop.a ../libutil/libutil.a
- DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
- depcomp = $(SHELL) $(top_srcdir)/depcomp
-@@ -285,7 +285,7 @@ top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- topdir = @topdir@
--SUBDIRS = liblegacy .
-+SUBDIRS = .
- oprofiled_SOURCES = \
-       init.c \
-       oprofiled.c \
-@@ -331,7 +331,6 @@ AM_CPPFLAGS = \
- # -fno-omit-frame-pointer needed for daemon build: see ChangeLog-2004 02-23
- AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame-pointer
- oprofiled_LDADD = \
--      liblegacy/liblegacy.a \
-       ../libabi/libabi.a \
-       ../libdb/libodb.a \
-       ../libop/libop.a \
---- a/daemon/oprofiled.c
-+++ b/daemon/oprofiled.c
-@@ -77,7 +77,6 @@ static char * events;
- static char * ext_feature;
- static int showvers;
- static struct oprofiled_ops * opd_ops;
--extern struct oprofiled_ops opd_24_ops;
- extern struct oprofiled_ops opd_26_ops;
- 
- #define OPD_IMAGE_FILTER_HASH_SIZE 32
-@@ -477,9 +476,6 @@ static void opd_options(int argc, char c
- static struct oprofiled_ops * get_ops(void)
- {
-       switch (op_get_interface()) {
--              case OP_INTERFACE_24:
--                      printf("Using 2.4 OProfile kernel interface.\n");
--                      return &opd_24_ops;
-               case OP_INTERFACE_26:
-                       printf("Using 2.6+ OProfile kernel interface.\n");
-                       return &opd_26_ops;
-- 
1.7.10.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to