debian/0000755000000000000000000000000011767044475007205 5ustar debian/copyright0000644000000000000000000000141311764217223011125 0ustar This package was debianized by Domenico Andreoli on Wed, 08 Aug 2007 04:02:11 +0200. It was downloaded from http://fedorapeople.org/~acme/dwarves Upstream Author: Arnaldo Carvalho de Melo Copyright: Copyright (C) 2005-2009 Arnaldo Carvalho de Melo Copyright (C) 2006 Mandriva Conectiva S.A. Copyright (C) 2008 David S. Miller Copyright (C) 2007-2009 Red Hat Inc. Copyright (C) 2007 Davi E. M. Arnaut License: GNU General Public License, version 2, found in /usr/share/common-licenses/GPL-2 on Debian systems. The Debian packaging is Copyright (C) 2007, Domenico Andreoli and is licensed under the GPL, see `/usr/share/common-licenses/GPL'. debian/source/0000755000000000000000000000000011764217223010473 5ustar debian/source/format0000644000000000000000000000001411764217223011701 0ustar 3.0 (quilt) debian/control0000644000000000000000000000255011764441376010610 0ustar Source: dwarves-dfsg Priority: extra Maintainer: Thomas Girard Uploaders: Domenico Andreoli Build-Depends: debhelper (>= 7), libelf-dev, libdw-dev (>= 0.141), cmake (>= 2.4.8), zlib1g-dev Standards-Version: 3.9.3 Section: utils Vcs-Git: git://git.debian.org/collab-maint/pkg-dwarves.git Vcs-Browser: http://git.debian.org/?p=collab-maint/pkg-dwarves.git;a=summary Homepage: http://acmel.wordpress.com Package: dwarves Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: set of advanced DWARF utilities This package contains tools that use the DWARF debugging information inserted in ELF binaries by the compiler. This information is already used by debuggers (e.g. GDB), and more recent tools such as systemtap. . Utilities in the dwarves suite include: . - pahole: finds alignment holes in structs and classes in languages such as C/C++, CPU cacheline alignment. Helps repack those structures to achieve more cache hits. - codiff: a diff like tool to compare the effects changes in source code generate on the resulting binaries - pfunct: displays all sorts of information about functions, inlines, etc. - pdwtags: pretty-prints DWARF information - pglobal: lists global symbols - prefcnt: counts DWARF tags usage - syscse: system call sign extender - dtagnames: lists tag names debian/patches/0000755000000000000000000000000011767045472010632 5ustar debian/patches/no_shared_no_ebl.diff0000644000000000000000000001370311767045471014747 0ustar Description: build static libs and remove ebl dependency Build static libraries instead of shared libaries so that we have a single package. Do not try to find and link with libebl.so as it is no longer provided by elfutils. Origin: Thomas Girard Forwarded: no Last-Update: 2012-06-07 --- dwarves-dfsg-1.10.orig/CMakeLists.txt +++ dwarves-dfsg-1.10/CMakeLists.txt @@ -36,19 +36,15 @@ _set_fancy(LIB_INSTALL_DIR "${EXEC_INSTA set(dwarves_LIB_SRCS dwarves.c dwarves_fprintf.c gobuffer strings ctf_encoder.c ctf_loader.c libctf.c dwarf_loader.c dutil.c elf_symtab.c rbtree.c) -add_library(dwarves SHARED ${dwarves_LIB_SRCS}) -set_target_properties(dwarves PROPERTIES VERSION 1.0.0 SOVERSION 1) -set_target_properties(dwarves PROPERTIES LINK_INTERFACE_LIBRARIES "") +add_library(dwarves STATIC ${dwarves_LIB_SRCS}) target_link_libraries(dwarves ${DWARF_LIBRARIES} ${ZLIB_LIBRARIES}) set(dwarves_emit_LIB_SRCS dwarves_emit.c) -add_library(dwarves_emit SHARED ${dwarves_emit_LIB_SRCS}) -set_target_properties(dwarves_emit PROPERTIES VERSION 1.0.0 SOVERSION 1) +add_library(dwarves_emit STATIC ${dwarves_emit_LIB_SRCS}) target_link_libraries(dwarves_emit dwarves) set(dwarves_reorganize_LIB_SRCS dwarves_reorganize.c) -add_library(dwarves_reorganize SHARED ${dwarves_reorganize_LIB_SRCS}) -set_target_properties(dwarves_reorganize PROPERTIES VERSION 1.0.0 SOVERSION 1) +add_library(dwarves_reorganize STATIC ${dwarves_reorganize_LIB_SRCS}) target_link_libraries(dwarves_reorganize dwarves) set(codiff_SRCS codiff.c) @@ -94,11 +90,6 @@ target_link_libraries(syscse dwarves) install(TARGETS codiff ctracer dtagnames pahole pdwtags pfunct pglobal prefcnt scncopy syscse RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) -install(TARGETS dwarves LIBRARY DESTINATION ${LIB_INSTALL_DIR}) -install(TARGETS dwarves dwarves_emit dwarves_reorganize LIBRARY DESTINATION ${LIB_INSTALL_DIR}) -install(FILES dwarves.h dwarves_emit.h dwarves_reorganize.h - dutil.h gobuffer.h list.h rbtree.h strings.h - DESTINATION ${CMAKE_INSTALL_PREFIX}/include/dwarves/) install(FILES man-pages/pahole.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1/) install(PROGRAMS ostra/ostra-cg DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) install(FILES ostra/python/ostra.py DESTINATION ${CMAKE_INSTALL_PREFIX}/share/dwarves/runtime/python) --- dwarves-dfsg-1.10.orig/cmake/modules/FindDWARF.cmake +++ dwarves-dfsg-1.10/cmake/modules/FindDWARF.cmake @@ -29,22 +29,19 @@ find_path(LIBDW_INCLUDE_DIR elfutils/lib find_library(DWARF_LIBRARY NAMES dw dwarf - PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 ~/usr/local/lib ~/usr/local/lib64 + PATHS /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} /usr/lib + NO_DEFAULT_PATH ) find_library(ELF_LIBRARY NAMES elf - PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 ~/usr/local/lib ~/usr/local/lib64 + PATHS /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} /usr/lib + NO_DEFAULT_PATH ) -find_library(EBL_LIBRARY - NAMES ebl - PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 ~/usr/local/lib ~/usr/local/lib64 -) - -if (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY AND EBL_LIBRARY) +if (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY) set(DWARF_FOUND TRUE) - set(DWARF_LIBRARIES ${DWARF_LIBRARY} ${ELF_LIBRARY} ${EBL_LIBRARY}) + set(DWARF_LIBRARIES ${DWARF_LIBRARY} ${ELF_LIBRARY}) set(CMAKE_REQUIRED_LIBRARIES ${DWARF_LIBRARIES}) # check if libdw have the dwfl_module_build_id routine, i.e. if it supports the buildid @@ -52,10 +49,10 @@ if (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_ # in distributions such as fedora). We do it against libelf because, IIRC, some distros # include libdw linked statically into libelf. check_library_exists(elf dwfl_module_build_id "" HAVE_DWFL_MODULE_BUILD_ID) -else (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY AND EBL_LIBRARY) +else (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY) set(DWARF_FOUND FALSE) set(DWARF_LIBRARIES) -endif (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY AND EBL_LIBRARY) +endif (DWARF_INCLUDE_DIR AND LIBDW_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY) if (DWARF_FOUND) if (NOT DWARF_FIND_QUIETLY) @@ -63,7 +60,6 @@ if (DWARF_FOUND) message(STATUS "Found elfutils/libdw.h header: ${LIBDW_INCLUDE_DIR}") message(STATUS "Found libdw library: ${DWARF_LIBRARY}") message(STATUS "Found libelf library: ${ELF_LIBRARY}") - message(STATUS "Found libebl library: ${EBL_LIBRARY}") endif (NOT DWARF_FIND_QUIETLY) else (DWARF_FOUND) if (DWARF_FIND_REQUIRED) @@ -73,9 +69,9 @@ else (DWARF_FOUND) find_path(FEDORA fedora-release /etc) find_path(REDHAT redhat-release /etc) if (FEDORA OR REDHAT) - if (NOT DWARF_INCLUDE_DIR OR NOT LIBDW_INCLUDE_DIR OR NOT EBL_LIBRARY) + if (NOT DWARF_INCLUDE_DIR OR NOT LIBDW_INCLUDE_DIR) message(STATUS "Please install the elfutils-devel package") - endif (NOT DWARF_INCLUDE_DIR OR NOT LIBDW_INCLUDE_DIR OR NOT EBL_LIBRARY) + endif (NOT DWARF_INCLUDE_DIR OR NOT LIBDW_INCLUDE_DIR) if (NOT DWARF_LIBRARY) message(STATUS "Please install the elfutils-libs package") endif (NOT DWARF_LIBRARY) @@ -89,9 +85,6 @@ else (DWARF_FOUND) if (NOT LIBDW_INCLUDE_DIR) message(STATUS "Could NOT find libdw include dir") endif (NOT LIBDW_INCLUDE_DIR) - if (NOT EBL_LIBRARY) - message(STATUS "Could NOT find libebl library") - endif (NOT EBL_LIBRARY) if (NOT DWARF_LIBRARY) message(STATUS "Could NOT find libdw library") endif (NOT DWARF_LIBRARY) @@ -103,7 +96,7 @@ else (DWARF_FOUND) endif (DWARF_FIND_REQUIRED) endif (DWARF_FOUND) -mark_as_advanced(DWARF_INCLUDE_DIR LIBDW_INCLUDE_DIR DWARF_LIBRARY ELF_LIBRARY EBL_LIBRARY) +mark_as_advanced(DWARF_INCLUDE_DIR LIBDW_INCLUDE_DIR DWARF_LIBRARY ELF_LIBRARY) include_directories(${DWARF_INCLUDE_DIR} ${LIBDW_INCLUDE_DIR}) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h) debian/patches/series0000644000000000000000000000002611767045436012045 0ustar no_shared_no_ebl.diff debian/changelog0000644000000000000000000000531711767044463011062 0ustar dwarves-dfsg (1.10-2) unstable; urgency=low * Make sure CMake uses standard library location if host has no MultiArch. Closes: #665054. -- Thomas Girard Sat, 16 Jun 2012 10:50:15 +0200 dwarves-dfsg (1.10-1) unstable; urgency=low * New upstram release. * Record patches using dpkg-source --commit. Closes: #643102. * Use MultiArch elfutils location. Closes: #665054. * debian/control: change homepage to new location. * debian/watch: change source tarball location. * debian/control: bump Standards-Version: to 3.9.3. No changes needed. * debian/rules: add missing build-arch and build-indep targets. -- Thomas Girard Fri, 08 Jun 2012 20:55:03 +0200 dwarves-dfsg (1.9-1) unstable; urgency=low * Acknowledge 1.3-1.1 NMU (thanks to Michael Banck) and resynch with Ubuntu release (thanks Bhavani Shankar). * New upstream release: - patch from 1.3-1.1ubuntu1 no longer needed. - new manpage for pahole. - new program scncopy to copy ELF sections. - fixes crash when encountering a pointer in a struct. Closes: #513573. - recognizes C++ classes. Closes: #621530. - no longer FTBFS with gcc 4.6. Closes: #625158. * Remove libebl detection and use. Closes: #534529. * debian/control: - bump debhelper level to 7. - add Vcs-Git: and Vcs-Browser: - bump Standards-Version: to 3.9.2. - add zlib1g-dev build dependency. * debian/copyright: add missing copyright holders. * debian/rules: - allow to be compiled twice in a row. - ensure package building aborts if a program is not installed. - use dh_prep instead of dh_clean -k. * debian/dwarves.install: - include syscse. Closes: #517180. - add ctracer. See README.ctracer for information on how to use it. * Switch to dpkg-source 3.0 (quilt) format. * Fix many lintian warnings. -- Thomas Girard Mon, 02 May 2011 19:34:31 +0200 dwarves-dfsg (1.3-1.1ubuntu1) maverick; urgency=low * dwarwes-dfsg-1.3/src/dwarves.c: + Add missing headers to fix undefined reference to `S_IS*' linker error with gcc 4.5 LP: #602367 -- Bhavani Shankar Tue, 06 Jul 2010 22:20:38 +0530 dwarves-dfsg (1.3-1.1) unstable; urgency=low * Non-maintainer upload. * Applied patch by Peter Green (Closes: #534084) + cmake/modules/FindDWARF.cmake: Removed libebl support. + debian/control (Build-Depends): Removed libebl-dev. -- Michael Banck Sun, 29 Nov 2009 12:45:58 +0100 dwarves-dfsg (1.3-1) unstable; urgency=low * Initial release, based on Domenico Andreoli work. Closes: #436522. -- Thomas Girard Mon, 24 Dec 2007 10:14:17 +0100 debian/compat0000644000000000000000000000000211764217223010371 0ustar 7 debian/dwarves.docs0000644000000000000000000000002411764217223011514 0ustar NEWS README.ctracer debian/dwarves.install0000644000000000000000000000032411764217223012235 0ustar usr/bin/ctracer usr/bin/codiff usr/bin/dtagnames usr/bin/pahole usr/bin/pdwtags usr/bin/pfunct usr/bin/pglobal usr/bin/prefcnt usr/bin/scncopy usr/bin/syscse usr/share/man/man1/pahole.1 usr/share/dwarves/runtime debian/rules0000755000000000000000000000315011764444656010266 0ustar #! /usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif export CFLAGS configure: configure-stamp configure-stamp: dh_testdir mkdir -p debian/build cd debian/build && cmake -D__LIB=lib -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE="None" ../.. touch $@ build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: configure-stamp dh_testdir $(MAKE) VERBOSE=1 -C debian/build touch $@ clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp [ ! -f debian/build/Makefile ] || $(MAKE) -C debian/build clean rm -rf debian/build config.h dh_clean install: build dh_testdir dh_testroot dh_prep dh_installdirs $(MAKE) -C debian/build install DESTDIR=$(CURDIR)/debian/tmp # remove them for now, will be included in a next upload # (requires python and matplotlib) rm -Rf debian/tmp/usr/share/dwarves/runtime/python debian/tmp/usr/bin/ostra-cg # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_installexamples dh_install --source=debian/tmp --fail-missing dh_installman dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb get-orig-source: sh debian/get-orig.sh binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure get-orig-source debian/watch0000644000000000000000000000011011764442705010221 0ustar version=3 http://fedorapeople.org/~acme/dwarves/dwarves-(.*)\.tar\.bz2