OBS User unknown 2008-07-18 22:32:25 +00:00 committed by Git OBS Bridge
parent 505e2caa62
commit 2f49877c78
8 changed files with 190 additions and 1375 deletions

File diff suppressed because it is too large Load Diff

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
oprofile

View File

@ -1,294 +0,0 @@
--- Makefile.am
+++ Makefile.am
@@ -16,6 +16,7 @@ SUBDIRS = \
doc \
gui
+AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
# The module will not build under distcheck
--- configure.in
+++ configure.in
@@ -127,7 +127,7 @@ AX_CHECK_DOCBOOK
dnl finally restore the original libs setting
LIBS="$ORIG_SAVE_LIBS"
LIBERTY_LIBS="-liberty $DL_LIB $INTL_LIB"
-BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB"
+BFD_LIBS="-lbfd -liberty $Z_LIB $DL_LIB $INTL_LIB"
POPT_LIBS="-lpopt"
AC_SUBST(LIBERTY_LIBS)
AC_SUBST(BFD_LIBS)
--- gui/oprof_start_util.cpp
+++ gui/oprof_start_util.cpp
@@ -13,6 +13,7 @@
#include <unistd.h>
#include <glob.h>
+#include <cstdlib>
#include <cerrno>
#include <vector>
#include <cmath>
--- libabi/opimport.cpp
+++ libabi/opimport.cpp
@@ -17,6 +17,8 @@
#include <iostream>
#include <vector>
#include <cassert>
+#include <cstdlib>
+#include <cstring>
#include <sys/types.h>
#include <sys/stat.h>
--- libpp/op_header.cpp
+++ libpp/op_header.cpp
@@ -15,6 +15,8 @@
#include <set>
#include <sstream>
+#include <cstring>
+
#include "op_exception.h"
#include "odb.h"
#include "op_cpu_type.h"
--- libpp/profile.cpp
+++ libpp/profile.cpp
@@ -17,6 +17,7 @@
#include <sstream>
#include <cerrno>
+#include <cstring>
#include "op_exception.h"
#include "op_header.h"
--- libpp/sample_container.cpp
+++ libpp/sample_container.cpp
@@ -14,6 +14,8 @@
#include <algorithm>
#include <vector>
+#include <climits>
+
#include "sample_container.h"
using namespace std;
--- libregex/demangle_symbol.cpp
+++ libregex/demangle_symbol.cpp
@@ -10,6 +10,8 @@
#include "config.h"
+#include <cstdlib>
+
#include "demangle_symbol.h"
#include "op_regex.h"
--- libregex/op_regex.cpp
+++ libregex/op_regex.cpp
@@ -282,15 +282,15 @@ void setup_regex(regular_expression_repl
string left = line;
left_rule.execute(left);
if (left == line) {
- throw bad_regex("invalid input file: " +
- '"' + line + '"');
+ throw bad_regex("invalid input file: \"" +
+ line + '"');
}
string right = line;
right_rule.execute(right);
if (right == line) {
- throw bad_regex("invalid input file: "
- + '"' + line + '"');
+ throw bad_regex("invalid input file: \""
+ + line + '"');
}
regex.add_pattern(left, right);
@@ -301,8 +301,8 @@ void setup_regex(regular_expression_repl
string var_value = line;
var_value_rule.execute(var_value);
if (var_value == line) {
- throw bad_regex("invalid input file: " +
- '"' + line + '"');
+ throw bad_regex("invalid input file: \"" +
+ line + '"');
}
regex.add_definition(var_name, var_value);
--- libutil++/bfd_spu_support.cpp
+++ libutil++/bfd_spu_support.cpp
@@ -14,7 +14,8 @@
#include "config.h"
#include "cverb.h"
-#include <stdlib.h>
+#include <cstdlib>
+#include <cstring>
#include <iostream>
#include <fstream>
#include <sstream>
--- libutil++/bfd_support.cpp
+++ libutil++/bfd_support.cpp
@@ -15,6 +15,8 @@
#include "string_manip.h"
#include "cverb.h"
+#include <cstdlib>
+#include <cstring>
#include <iostream>
#include <fstream>
#include <sstream>
--- libutil++/child_reader.cpp
+++ libutil++/child_reader.cpp
@@ -12,6 +12,9 @@
#include <unistd.h>
#include <sys/wait.h>
+#include <cstdlib>
+#include <cstring>
+#include <climits>
#include <cerrno>
#include <sstream>
#include <iostream>
--- libutil++/cverb.cpp
+++ libutil++/cverb.cpp
@@ -9,6 +9,7 @@
* @author John Levon
*/
+#include <cstring>
#include <fstream>
#include <iostream>
#include <map>
--- libutil++/file_manip.cpp
+++ libutil++/file_manip.cpp
@@ -16,6 +16,7 @@
#include <fnmatch.h>
#include <utime.h>
+#include <cstdlib>
#include <cstdio>
#include <cerrno>
#include <iostream>
@@ -37,7 +38,7 @@ bool copy_file(string const & source, st
if (stat(source.c_str(), &buf))
return false;
- int fd = open(destination.c_str(), O_RDWR|O_CREAT);
+ int fd = open(destination.c_str(), O_RDWR|O_CREAT, 0600);
if (fd < 0)
return false;
close(fd);
--- libutil++/op_bfd.cpp
+++ libutil++/op_bfd.cpp
@@ -166,7 +166,7 @@ op_bfd::~op_bfd()
}
-unsigned long const op_bfd::get_start_offset(bfd_vma vma) const
+unsigned long op_bfd::get_start_offset(bfd_vma vma) const
{
if (!vma || !ibfd.valid()) {
filepos_map_t::const_iterator it = filepos_map.find(".text");
--- libutil++/op_bfd.h
+++ libutil++/op_bfd.h
@@ -171,7 +171,7 @@ public:
* Otherwise, return the filepos of a section with a matching
* vma.
*/
- unsigned long const get_start_offset(bfd_vma vma = 0) const;
+ unsigned long get_start_offset(bfd_vma vma = 0) const;
/**
* Return the image name of the underlying binary image. For an
--- libutil++/op_spu_bfd.cpp
+++ libutil++/op_spu_bfd.cpp
@@ -13,6 +13,8 @@
#include <fcntl.h>
#include <sys/stat.h>
+#include <cstring>
+#include <cstdlib>
#include <iostream>
#include "op_bfd.h"
--- m4/binutils.m4
+++ m4/binutils.m4
@@ -8,6 +8,7 @@ AC_CHECK_FUNCS(xcalloc)
AC_CHECK_FUNCS(xmemdup)
AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl"; DL_LIB="-ldl", DL_LIB="")
AC_CHECK_LIB(intl, main, LIBS="$LIBS -lintl"; INTL_LIB="-lintl", INTL_LIB="")
+AC_CHECK_LIB(z, zlibVersion, LIBS="$LIBS -lz"; Z_LIB=-lz, Z_LIB=)
AC_CHECK_LIB(bfd, bfd_openr,, AC_MSG_ERROR([bfd library not found]))
# Determine if bfd_get_synthetic_symtab macro is available
--- pp/common_option.cpp
+++ pp/common_option.cpp
@@ -13,6 +13,8 @@
#include <sstream>
#include <iterator>
+#include <cstdlib>
+
#include "op_config.h"
#include "locate_images.h"
#include "op_exception.h"
--- pp/opannotate_options.cpp
+++ pp/opannotate_options.cpp
@@ -14,6 +14,8 @@
#include <iterator>
#include <iostream>
+#include <cstdlib>
+
#include "profile_spec.h"
#include "arrange_profiles.h"
#include "op_exception.h"
--- pp/oparchive.cpp
+++ pp/oparchive.cpp
@@ -13,6 +13,8 @@
#include <iostream>
#include <fstream>
+#include <cstdlib>
+
#include <errno.h>
#include <string.h>
--- pp/opgprof_options.cpp
+++ pp/opgprof_options.cpp
@@ -14,6 +14,8 @@
#include <iterator>
#include <iostream>
+#include <cstdlib>
+
#include "opgprof_options.h"
#include "popt_options.h"
#include "cverb.h"
--- utils/opcontrol
+++ utils/opcontrol
@@ -489,11 +489,20 @@ get_image_range()
return;
fi
+ kernel_file=$FILE_IMAGE
+ case $(file -L $kernel_file) in
+ *"gzip compressed"*)
+ kernel_file=$(mktemp /tmp/opcXXXXXX) || exit 1
+ trap "rm -f $kernel_file" EXIT
+ gzip -cd $FILE_IMAGE > $kernel_file
+ ;;
+ esac
+
# start at the start of .text and then continue to the end
- range_info=`objdump -h $FILE_IMAGE 2>/dev/null | grep " .text "`
+ range_info=`objdump -h $kernel_file 2>/dev/null | grep " .text "`
tmp1=`echo $range_info | awk '{print $4}'`
tmp_length=`echo $range_info | awk '{print $3}'`
- tmp2=`objdump -h $FILE_IMAGE --adjust-vma=0x$tmp_length 2>/dev/null | grep " .text " | awk '{print $4}'`
+ tmp2=`objdump -h $kernel_file --adjust-vma=0x$tmp_length 2>/dev/null | grep " .text " | awk '{print $4}'`
if test -z "$tmp1" -o -z "$tmp2"; then
echo "The specified file $FILE_IMAGE does not seem to be valid" >&2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4f86ab165dabcc7bc4008710a66fa0ed391c083e2a8bdf8a8f5bf11c0244b2cb
size 853593

118
oprofile-0.9.4.diff Normal file
View File

@ -0,0 +1,118 @@
--- Makefile.am
+++ Makefile.am
@@ -25,6 +25,7 @@ SUBDIRS = \
+AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
# The module will not build under distcheck
--- agents/jvmpi/jvmpi_oprofile.cpp
+++ agents/jvmpi/jvmpi_oprofile.cpp
@@ -16,6 +16,7 @@
#include <string>
#include <stdexcept>
#include <cerrno>
+#include <cstring>
extern "C" {
#include <jvmpi.h>
--- configure.in
+++ configure.in
@@ -140,7 +140,7 @@ AX_CHECK_DOCBOOK
dnl finally restore the original libs setting
LIBS="$ORIG_SAVE_LIBS"
LIBERTY_LIBS="-liberty $DL_LIB $INTL_LIB"
-BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB"
+BFD_LIBS="-lbfd -liberty $Z_LIB $DL_LIB $INTL_LIB"
POPT_LIBS="-lpopt"
AC_SUBST(LIBERTY_LIBS)
AC_SUBST(BFD_LIBS)
--- libutil++/file_manip.cpp
+++ libutil++/file_manip.cpp
@@ -44,7 +44,7 @@ bool copy_file(string const & source, st
if (!in)
return false;
- int fd = open(destination.c_str(), O_RDWR|O_CREAT);
+ int fd = open(destination.c_str(), O_RDWR|O_CREAT, 0600);
if (fd < 0)
return false;
close(fd);
--- m4/binutils.m4
+++ m4/binutils.m4
@@ -8,11 +8,12 @@ AC_CHECK_FUNCS(xcalloc)
AC_CHECK_FUNCS(xmemdup)
AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl"; DL_LIB="-ldl", DL_LIB="")
AC_CHECK_LIB(intl, main, LIBS="$LIBS -lintl"; INTL_LIB="-lintl", INTL_LIB="")
+AC_CHECK_LIB(z, zlibVersion, LIBS="$LIBS -lz"; Z_LIB=-lz, Z_LIB=)
AC_CHECK_LIB(bfd, bfd_openr,, AC_MSG_ERROR([bfd library not found]))
AC_LANG_PUSH(C)
SAVE_LIBS=$LIBS
-LIBS=" -lbfd -liberty "
+LIBS=" -lbfd -liberty -lz"
# Determine if bfd_get_synthetic_symtab macro is available
OS="`uname`"
if test "$OS" = "Linux"; then
--- m4/builtinexpect.m4
+++ m4/builtinexpect.m4
@@ -5,7 +5,7 @@ AC_MSG_CHECKING([whether __builtin_expec
SAVE_CFLAGS=$CFLAGS
CFLAGS="-Werror $CFLAGS"
AC_TRY_LINK(,[
-int i;
+int i = 0;
if (__builtin_expect(i, 0)) { }
],
AC_MSG_RESULT([yes]); EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DEXPECT_OK",
--- m4/cellspubfdsupport.m4
+++ m4/cellspubfdsupport.m4
@@ -12,7 +12,7 @@ AC_DEFUN([AX_CELL_SPU],
AC_LANG_PUSH(C)
SAVE_LIBS=$LIBS
-LIBS=" -lbfd -liberty "
+LIBS=" -lbfd -liberty -lz"
AC_CHECK_LIB(bfd, bfd_openr_iovec,
[bfd_openr_iovec_exists="yes"],
--- m4/mallocattribute.m4
+++ m4/mallocattribute.m4
@@ -4,9 +4,9 @@ AC_DEFUN([AX_MALLOC_ATTRIBUTE],
AC_MSG_CHECKING([whether malloc attribute is understood])
SAVE_CFLAGS=$CFLAGS
CFLAGS="-Werror $CFLAGS"
-AC_TRY_COMPILE(,[
+AC_TRY_COMPILE([
void monkey() __attribute__((malloc));
-],AC_MSG_RESULT([yes]); AC_DEFINE(MALLOC_ATTRIBUTE_OK, 1, [whether malloc attribute is understood]), AC_MSG_RESULT([no]))
+],,AC_MSG_RESULT([yes]); AC_DEFINE(MALLOC_ATTRIBUTE_OK, 1, [whether malloc attribute is understood]), AC_MSG_RESULT([no]))
CFLAGS=$SAVE_CFLAGS
]
)
--- utils/opcontrol
+++ utils/opcontrol
@@ -508,10 +508,19 @@ get_image_range()
exit 1
fi
+ kernel_file=$FILE_IMAGE
+ case $(file -L $kernel_file) in
+ *"gzip compressed"*)
+ kernel_file=$(mktemp /tmp/opcXXXXXX) || exit 1
+ trap "rm -f $kernel_file" EXIT
+ gzip -cd $FILE_IMAGE > $kernel_file
+ ;;
+ esac
+
# start at the start of .text, and end at _etext
- range_info=`objdump -h $FILE_IMAGE 2>/dev/null | grep " .text "`
+ range_info=`objdump -h $kernel_file 2>/dev/null | grep " .text "`
tmp1=`echo $range_info | awk '{print $4}'`
- tmp2=`objdump -t $FILE_IMAGE 2>/dev/null | grep "_etext$" | awk '{ print $1 }'`
+ tmp2=`objdump -t $kernel_file 2>/dev/null | grep "_etext$" | awk '{ print $1 }'`
if test -z "$tmp1" -o -z "$tmp2"; then
echo "The specified file $FILE_IMAGE does not seem to be valid" >&2

3
oprofile-0.9.4.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb1452159036ba7d3003b75dfef38fcbc61503f76adfca2879ebf7766931cade
size 1229744

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Jul 18 13:43:33 CEST 2008 - schwab@suse.de
- Update to oprofile 0.9.4.
http://oprofile.sourceforge.net/release-notes/oprofile-0.9.4
-------------------------------------------------------------------
Fri Jul 11 14:44:26 CEST 2008 - schwab@suse.de

View File

@ -1,5 +1,5 @@
#
# spec file for package oprofile (Version 0.9.3)
# spec file for package oprofile (Version 0.9.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -11,19 +11,19 @@
Name: oprofile
BuildRequires: binutils-devel libxslt popt-devel qt3-devel update-desktop-files
BuildRequires: binutils-devel java2-devel-packages libxslt popt-devel qt3-devel update-desktop-files
Url: http://oprofile.sourceforge.net/
License: GPL v2 or later
Group: Development/Tools/Other
AutoReqProv: on
Version: 0.9.3
Release: 99
PreReq: /usr/sbin/groupadd /usr/sbin/useradd
Version: 0.9.4
Release: 1
Summary: System-Wide Profiler for Linux Systems
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: %{name}-%{version}.tar.gz
Source1: %{name}.desktop
Patch: %{name}-%{version}.diff
Patch1: 970mp-events.diff
%description
OProfile is a system-wide profiler for Linux systems, capable of
@ -48,6 +48,44 @@ This is the package containing the userspace tools.
Authors:
--------
John Levon <moz@compsoc.man.ac.uk>
Philippe Elie <phil_e@clubinternet.fr>
Dave Jones <davej@suse.de>
Bob Montgomery <bobm@fc.hp.com>
%package devel
Summary: System-Wide Profiler for Linux Systems
Group: Development/Libraries/C and C++
License: GPL v2 or later; LGPL v2.1 or later
AutoReqProv: on
Requires: oprofile = %{version}-%{release} binutils-devel
%description devel
OProfile is a system-wide profiler for Linux systems, capable of
profiling all running code at low overhead. OProfile is released under
the GNU GPL.
It consists of a kernel module and a daemon for collecting sample data,
and several post-profiling tools for turning data into information.
OProfile leverages the CPU hardware performance counters to enable
profiling of a wide variety of interesting statistics, which can also
be used for basic time-spent profiling. All code is profiled: hardware
and software interrupt handlers, kernel modules, the kernel, shared
libraries, and applications (the only exception being the oprofile
interrupt handler itself).
OProfile is currently in alpha status; however it has proven stable
over a large number of differing configurations. As always, there is no
warranty.
This is the package containing the files to develop JIT agents for
other virtual machines.
Authors:
--------
John Levon <moz@compsoc.man.ac.uk>
@ -58,13 +96,12 @@ Authors:
%prep
%setup -q
%patch
%patch1 -p1
%build
autoreconf -fi
./configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
--prefix=/usr --mandir=%{_mandir} \
--with-kernel-support \
--prefix=/usr --mandir=%{_mandir} --libdir=%{_libdir} \
--with-kernel-support --with-java=%_libdir/jvm/java \
--with-qt-libraries=%_libdir/qt3/%_lib
make %{?jobs:-j%jobs}
@ -72,6 +109,10 @@ make %{?jobs:-j%jobs}
make DESTDIR=$RPM_BUILD_ROOT htmldir=%{_docdir}/oprofile install
%suse_update_desktop_file -i %name Development Profiling
%pre
/usr/sbin/groupadd -r oprofile 2>/dev/null || :
/usr/sbin/useradd -r -g oprofile -d /var/lib/empty -s /bin/false -c "Special user account to be used by OProfile" oprofile 2>/dev/null || :
%clean
rm -rf $RPM_BUILD_ROOT
@ -80,11 +121,24 @@ rm -rf $RPM_BUILD_ROOT
/usr/bin/*
/usr/share/applications/*.desktop
/usr/share/oprofile
%dir %{_libdir}/oprofile
%{_libdir}/oprofile/*.so.*
%{_mandir}/man1/*
%doc doc/oprofile.html doc/internals.html doc/opreport.xsd
%doc COPYING README TODO ChangeLog
%files devel
%defattr(-,root,root)
/usr/include/*
%doc doc/op-jit-devel.html
%dir %{_libdir}/oprofile
%{_libdir}/oprofile/*.*a
%{_libdir}/oprofile/*.so
%changelog
* Fri Jul 18 2008 schwab@suse.de
- Update to oprofile 0.9.4.
http://oprofile.sourceforge.net/release-notes/oprofile-0.9.4
* Fri Jul 11 2008 schwab@suse.de
- Update binutils check.
* Mon Nov 26 2007 schwab@suse.de