diff options
Diffstat (limited to '~lukeshu/not-working/codeanalyst')
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/PKGBUILD | 91 | ||||
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/codeanalyst.desktop | 9 | ||||
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/codeanalyst.install | 29 | ||||
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/codeanalyst.sudo | 1 | ||||
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/codeanalyst.svg | 59 | ||||
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/gcc47.patch | 72 | ||||
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/kernel3.4.patch | 72 | ||||
-rw-r--r-- | ~lukeshu/not-working/codeanalyst/skipSetup.patch | 68 |
8 files changed, 401 insertions, 0 deletions
diff --git a/~lukeshu/not-working/codeanalyst/PKGBUILD b/~lukeshu/not-working/codeanalyst/PKGBUILD new file mode 100644 index 000000000..885e06f0e --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/PKGBUILD @@ -0,0 +1,91 @@ +# Maintainer (Parabola): Luke Shumaker <lukeshu@sbcglobal.net> +# Maintainer (AUR): Felipe Bugno <capent@yahoo.com> + +# A note about the oprofile fork: +# The docs claim that the fork is just for adding support for +# processors that aren't upstream yet (at the time, they are now that +# 0.9.7 is out). So, shouldn't we just link against 0.9.7? Well: +# * AMD also added a bunch of CodeAnalyst-specific code. +# * Several external variables/types have different names; the API is +# incompatible. +# * [extra]/oprofile-0.9.7-3 only includes about half of the headers. + +pkgbase=CodeAnalyst +pkgname=(codeanalyst codeanalyst-cakm) +pkgver=3.3.18.0361 +_pkgver="${pkgver//./_}" +pkgrel=4.1 +pkgdesc="AMD performance profiler. Includes a fork of oprofile." +url="http://developer.amd.com/tools/${pkgbase}/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('gcc' 'qt>=4.1' 'libdwarf') +makedepends=('linux-headers' 'elfutils' 'findutils' 'file') +options=('!strip') +install=codeanalyst.install +source=("http://download2-developer.amd.com/amd/${pkgbase}/${pkgbase}${_pkgver}Public.tar.gz" + 'gcc47.patch' + 'skipSetup.patch' + 'kernel3.4.patch' + 'codeanalyst.sudo' + 'codeanalyst.desktop' + 'codeanalyst.svg') + +build() { + build_codeanalyst + build_codeanalyst-cakm +} + +build_codeanalyst() { + cd "${srcdir}/${pkgbase}-${_pkgver}-Public" + patch -Np1 -i "${srcdir}/gcc47.patch" + patch -Np1 -i "${srcdir}/skipSetup.patch" + rm -rf src/dwarf-* # easiest way to ensure using the system install + + ./autogen.sh + ./configure --prefix=/usr \ + --with-libdwarf-includes=/usr/include/libdwarf \ + --with-libdwarf-libraries=/usr/lib + make +} + +build_codeanalyst-cakm() { + cd "${srcdir}/${pkgbase}-${_pkgver}-Public"/src/cakm + cp -r kernel2.6.38 kernel3.4 + cd kernel3.4 + patch -Np1 -i "${srcdir}/kernel3.4.patch" + make +} + +package_codeanalyst() { + provides=('oprofile=0.9.6cvs') + conflicts=('oprofile') + + cd "${srcdir}/${pkgbase}-${_pkgver}-Public" + make DESTDIR="${pkgdir}" install + rm -f "${pkgdir}/usr/sbin/ca_user_manager" # either codeanalyst.install does this, or it is trivial + + find "${pkgdir}"/usr/{bin,sbin} -type f -exec file '{}' +|sed -n 's/:\s*ELF .*//p'|xargs strip + + cd "${srcdir}" + install -D -m644 codeanalyst.sudo "${pkgdir}/etc/sudoers.d/codeanalyst" + install -D -m644 codeanalyst.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/codeanalyst.svg" + install -D -m644 codeanalyst.desktop "${pkgdir}/usr/share/applications/codeanalyst.desktop" +} + +package_codeanalyst-cakm() { + pkgdesc="CodeAnalyst kernel module, oprofile-ca.ko, a replacement for oprofile.ko" + depends=(codeanalyst) + provides=() + + cd "${srcdir}/${pkgbase}-${_pkgver}-Public"/src/cakm/kernel3.4 + install -D -m644 oprofile.ko "${pkgdir}/lib/modules/`uname -r`/kernel/arch/x86/oprofile/oprofile-ca.ko" +} + +md5sums=('f1e29bc7c7da259df228ce59281ee1d7' + '063d0fc9680641a92ce5e310ffe1c9c0' + 'ce549e59c4a5916fd19e8d085e863627' + '3a5d820a43a0360d561bb0c4d67d9735' + '3cc8f64fe84c5a886d0172ee8d99f690' + '3a18d3f7fb01f199a8ed5ae2908c18e4' + '1822a4157b82904b82e72fc1e9bcbd42') diff --git a/~lukeshu/not-working/codeanalyst/codeanalyst.desktop b/~lukeshu/not-working/codeanalyst/codeanalyst.desktop new file mode 100644 index 000000000..56d54f884 --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/codeanalyst.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=AMD CodeAnalyst +Comment=AMD profiler and performance analyzer +Exec=/usr/bin/CodeAnalyst +Icon=codeanalyst +Terminal=false +Encoding=UTF-8 +Type=Application +Categories=Development; diff --git a/~lukeshu/not-working/codeanalyst/codeanalyst.install b/~lukeshu/not-working/codeanalyst/codeanalyst.install new file mode 100644 index 000000000..6ed1ac841 --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/codeanalyst.install @@ -0,0 +1,29 @@ +post_install() { + getent group amdca &>/dev/null || groupadd amdca &>/dev/null + echo " ==> To use CodeAnalyst as non-root, you must be in the 'amdca' group" + echo " ie: gpasswd -a USERNAME amdca" + + chown root:amdca /usr/bin/calog_report + chown root:amdca /usr/bin/capackage.sh + chown root:amdca /usr/bin/careport.sh + chown root:amdca /usr/bin/cgreport + chown root:amdca /usr/bin/CodeAnalyst + chown root:amdca /usr/bin/opannotate + chown root:amdca /usr/bin/oparchive + chown root:amdca /usr/bin/opcontrol + chown root:amdca /usr/bin/opgprof + chown root:amdca /usr/bin/ophelp + chown root:amdca /usr/bin/opimport + chown root:amdca /usr/bin/opjitconv + chown root:amdca /usr/bin/opreport + chown root:amdca /usr/bin/oprofiled + chown root:amdca /usr/sbin/ca_oprofile_controller + #chown root:amdca /usr/sbin/ca_user_manager + + update-desktop-database -q +} + +post_remove() { + getent group amdca &>/dev/null && groupdel amdca &>/dev/null + update-desktop-database -q +} diff --git a/~lukeshu/not-working/codeanalyst/codeanalyst.sudo b/~lukeshu/not-working/codeanalyst/codeanalyst.sudo new file mode 100644 index 000000000..1c3173bdb --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/codeanalyst.sudo @@ -0,0 +1 @@ +%amdca ALL= NOPASSWD: /usr/sbin/ca_oprofile_controller diff --git a/~lukeshu/not-working/codeanalyst/codeanalyst.svg b/~lukeshu/not-working/codeanalyst/codeanalyst.svg new file mode 100644 index 000000000..8febf725b --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/codeanalyst.svg @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_1" + width="286.95001" + height="286.95001" + viewBox="0 0 286.95063 286.95" + overflow="visible" + enable-background="new 0 0 1368.987 286.954" + xml:space="preserve" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="AMD_Logo.svg" + style="overflow:visible"><metadata + id="metadata17"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs + id="defs15" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1028" + id="namedview13" + showgrid="false" + inkscape:zoom="2.11" + inkscape:cx="163.32315" + inkscape:cy="145.21584" + inkscape:window-x="-4" + inkscape:window-y="-3" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_1" /> +<polyline + points="1165.47,92.779 1165.39,203.495 1281.63,203.513 1198.44,286.826 1081.79,286.954 1080.38,176.065 1165.47,92.779" + id="polyline3" + style="fill:#009a66" + transform="translate(-1082.0371,1.8496035e-4)" /> +<polyline + points="1165.39,84.082 1285.07,83.854 1284.83,202.972 1368.99,286.954 1368.75,0.12 1081.79,0 1165.39,84.082" + id="polyline5" + style="fill:#009a66" + transform="translate(-1082.0371,1.8496035e-4)" /> + + + +</svg>
\ No newline at end of file diff --git a/~lukeshu/not-working/codeanalyst/gcc47.patch b/~lukeshu/not-working/codeanalyst/gcc47.patch new file mode 100644 index 000000000..dfec4a0c4 --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/gcc47.patch @@ -0,0 +1,72 @@ +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/cg/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca/cg/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/cg/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/cg/Makefile.am 2012-04-22 17:55:01.227439003 -0300 +*************** +*** 25,31 **** + cgcvt.cpp + + +! cgreport_LDFLAGS = -Wl -fPIC @QT_LDFLAGS@ + + AM_CPPFLAGS= $(INCLUDES) $(more_flags) \ + $(FLAG64) -Wno-unused -Wno-parentheses \ +--- 25,31 ---- + cgcvt.cpp + + +! cgreport_LDFLAGS = -fPIC @QT_LDFLAGS@ + + AM_CPPFLAGS= $(INCLUDES) $(more_flags) \ + $(FLAG64) -Wno-unused -Wno-parentheses \ +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/gui/MonitorDockView.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/gui/MonitorDockView.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/gui/MonitorDockView.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/gui/MonitorDockView.cpp 2012-04-22 17:38:14.884058192 -0300 +*************** +*** 17,22 **** +--- 17,23 ---- + */ + + #include <qtooltip.h> ++ #include <unistd.h> + + #include "MonitorDockView.h" + +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libca/dwarfengine.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libca/dwarfengine.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libca/dwarfengine.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libca/dwarfengine.cpp 2012-04-22 17:34:45.670714989 -0300 +*************** +*** 21,26 **** +--- 21,27 ---- + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> ++ #include <unistd.h> + + #include "dwarfengine.h" + #define DWARF_DEBUG 0 +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libopdata/opdata_handler.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libopdata/opdata_handler.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libopdata/opdata_handler.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libopdata/opdata_handler.cpp 2012-04-22 17:32:30.780708624 -0300 +*************** +*** 29,34 **** +--- 29,35 ---- + #include <sys/stat.h> + #include <fcntl.h> + #include <time.h> ++ #include <unistd.h> + + // CodeAnalyst headers + #include "CaProfileWriter.h" +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/libCAagent/slock.cpp CodeAnalyst-3_3_18_0361-Public/src/ca_agent/libCAagent/slock.cpp +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/libCAagent/slock.cpp 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca_agent/libCAagent/slock.cpp 2012-04-22 17:26:58.424026278 -0300 +*************** +*** 13,18 **** +--- 13,19 ---- + #include <sys/ipc.h> + #include <sys/sem.h> + #include <sys/stat.h> ++ #include <unistd.h> + + #include "slock.h" + #include "smm.h" diff --git a/~lukeshu/not-working/codeanalyst/kernel3.4.patch b/~lukeshu/not-working/codeanalyst/kernel3.4.patch new file mode 100644 index 000000000..589abc800 --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/kernel3.4.patch @@ -0,0 +1,72 @@ +diff -ru kernel2.6.38/Makefile kernel3.4/Makefile +--- kernel2.6.38/Makefile 2012-04-13 01:41:43.000000000 -0400 ++++ kernel3.4/Makefile 2012-07-11 11:32:27.000000000 -0400 +@@ -1,6 +1,6 @@ + TARGET = oprofile.ko + +-MDIR = $(if $(shell uname -m | grep x86_64),arch/x86/oprofile,arch/x86/oprofile) ++MDIR = arch/x86/oprofile + + DRIVER_OBJS = oprof.o cpu_buffer.o buffer_sync.o \ + event_buffer.o oprofile_files.o \ +@@ -16,7 +16,8 @@ + CURRENT = $(shell uname -r) + ARCH = $(if $(shell uname -m | grep x86_64),64,32) + KERN_ARCH = $(if $(shell uname -m | grep x86_64),x86_64,i386) +-KDIR = /lib/modules/$(CURRENT)/build ++SYS_KDIR = /lib/modules/$(CURRENT)/build ++KDIR = $(PWD)/../build + PWD = $(shell pwd) + DEST = /lib/modules/$(CURRENT)/kernel/$(MDIR) + USE_INTERNAL_ERRATA = $(if $(shell ls ../internal/errata.h 2> /dev/null),1,0) +@@ -39,6 +40,8 @@ + all: default + + default: ++ rm -rf $(KDIR) ++ cp -r $(SYS_KDIR)/ $(KDIR) + make -C $(KDIR) SUBDIRS=$(PWD) CFLAGS_MODULE+="-DMODULE -DUSE_INTERNAL_ERRATA=$(USE_INTERNAL_ERRATA)" modules ARCH=$(KERN_ARCH) + + install: +@@ -52,13 +55,12 @@ + + uninstall: + @echo "... Restore original oprofile.ko." +- @mv -v $(DEST)/$(TARGET).orig $(DEST)/$(TARGET) ++ @mv -v $(DEST)/$(TARGET).orig $(DEST)/$(TARGET) + + clean: + rm -f *.o oprofile.ko .*.cmd .*.flags *.mod.c + + prebuild: + cp $(TARGET) ../prebuilds/$(CURRENT)_$(ARCH).ko +- + +--include $(KDIR)/Rules.make ++-include $(SYS_KDIR)/Rules.make +Only in kernel3.4/: modules.order +Only in kernel3.4/: Module.symvers +diff -ru kernel2.6.38/nmi_int.c kernel3.4/nmi_int.c +--- kernel2.6.38/nmi_int.c 2012-04-13 01:41:43.000000000 -0400 ++++ kernel3.4/nmi_int.c 2012-07-11 11:32:27.000000000 -0400 +@@ -16,7 +16,6 @@ + #include <linux/notifier.h> + #include <linux/smp.h> + #include "oprofile.h" +-#include <linux/sysdev.h> + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0) + #include <linux/syscore_ops.h> + #endif +diff -ru kernel2.6.38/oprofilefs.c kernel3.4/oprofilefs.c +--- kernel2.6.38/oprofilefs.c 2012-04-13 01:41:43.000000000 -0400 ++++ kernel3.4/oprofilefs.c 2012-07-11 11:32:27.000000000 -0400 +@@ -244,7 +244,7 @@ + return -ENOMEM; + root_inode->i_op = &simple_dir_inode_operations; + root_inode->i_fop = &simple_dir_operations; +- root_dentry = d_alloc_root(root_inode); ++ root_dentry = d_make_root(root_inode); + if (!root_dentry) { + iput(root_inode); + return -ENOMEM; +Only in kernel3.4/: .tmp_versions diff --git a/~lukeshu/not-working/codeanalyst/skipSetup.patch b/~lukeshu/not-working/codeanalyst/skipSetup.patch new file mode 100644 index 000000000..fdc9bf42f --- /dev/null +++ b/~lukeshu/not-working/codeanalyst/skipSetup.patch @@ -0,0 +1,68 @@ +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca/Makefile.am 2012-04-22 20:44:07.437917684 -0300 +*************** +*** 8,19 **** + # FIXME [3.0] diffgui \ + # $(CA_RELEASE_TYPE) + +! install-exec-hook: +! @if test -e "scripts/Setup.sh"; then \ +! scripts/Setup.sh $(DESTDIR)$(prefix); \ +! fi + +! uninstall-hook: +! @if test -e "scripts/Uninstall.sh"; then \ +! scripts/Uninstall.sh $(DESTDIR)$(prefix);\ +! fi +--- 8,19 ---- + # FIXME [3.0] diffgui \ + # $(CA_RELEASE_TYPE) + +! #install-exec-hook: +! # @if test -e "scripts/Setup.sh"; then \ +! # scripts/Setup.sh $(DESTDIR)$(prefix); \ +! # fi + +! #uninstall-hook: +! # @if test -e "scripts/Uninstall.sh"; then \ +! # scripts/Uninstall.sh $(DESTDIR)$(prefix);\ +! # fi +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/jvmpi/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca_agent/jvmpi/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/jvmpi/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/ca_agent/jvmpi/Makefile.am 2012-04-22 20:47:21.604593511 -0300 +*************** +*** 15,20 **** + libCAJVMPIA_so_SOURCES = \ + jpa.cpp + +! install-exec-hook: +! @/sbin/ldconfig + +--- 15,20 ---- + libCAJVMPIA_so_SOURCES = \ + jpa.cpp + +! #install-exec-hook: +! # @/sbin/ldconfig + +diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/Makefile.am +*** CodeAnalyst-3_3_18_0361-Public.orig/src/Makefile.am 2012-04-13 02:41:43.000000000 -0300 +--- CodeAnalyst-3_3_18_0361-Public/src/Makefile.am 2012-04-22 20:44:57.674586720 -0300 +*************** +*** 8,21 **** + install-exec-hook: + @if test -e "${LIBDWARF_DIR}libdwarf.so"; then \ + install -pD -m 755 ${LIBDWARF_DIR}libdwarf.so $(DESTDIR)$(prefix)/lib/libdwarf.so ; \ +- /sbin/ldconfig ;\ + fi + + uninstall-hook: + @if test -e "${LIBDWARF_DIR}libdwarf.so"; then \ + if test -e "$(DESTDIR)$(prefix)/lib/libdwarf.so"; then \ + rm -f $(DESTDIR)$(prefix)/lib/libdwarf.so ; \ +- /sbin/ldconfig ; \ + fi ; \ + fi + +--- 8,19 ---- |