File: README

package info (click to toggle)
dwarfutils 20100214-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 4,436 kB
  • ctags: 3,541
  • sloc: ansic: 30,360; cpp: 7,486; makefile: 438; sh: 95
file content (55 lines) | stat: -rw-r--r-- 2,132 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Dwarfdump2 is a C++ version of dwarfdump. It's intended to
have improved features and better performance and be easier
to understand than dwarfdump, but the printed output is intended
to be the same as dwarfdump (aside from the new features and
improvements).

If this does not work for you, please let me know.

To build dwarfdump2, first build libdwarf in the neighboring
directory then type
	./configure
	make

To use dwarf or libdwarf, you may want to install dwarf.h
and libdwarf.h somewhere convenient, and you may need the
libdwarf in the accompanying libdwarf directory.

Notice that dwarf_names.c and dwarf_names.h are supplied by
the release though the Makefile can and may rebuild them.
Some users find it difficult to get a reliable awk(1) program,
so for them these prebuilt versions may be useful.

If your headers or libelf/libdwarf are not in the expected places,
use the configure script to access them (and to add other ld
or C flags).
For example, using csh syntax:
	setenv PRIVATE_LIBDIR /home/davea/lib
	./configure LDFLAGS="-L$PRIVATE_LIBDIR" \
		CPPFLAGS="-I/home/davea/inc" CXXFLAGS="-I/home/davea/inc"
Set both CXXFLAGS and CPPFLAGS so that configure works properly.

You will also need the dwarfdump source in parallel with
this source, as this Makefile 'reaches around' to dwarfdump
to get certain source files.

If your primary target cpu architecture ( of objects that you
are using dwarfdump2 on) is not MIPS, you will probably want
to add   -DDWARFDUMP_TURN_OFF_MIPS_REG_NAMES=1 to CPPFLAGS
and CFLAGS  to avoid using misleading register names.
See print_sections.c.


If $PRIVATE_LIBDIR  has both libelf.so and libelf.a, the libelf.so
will be picked up and 
  "./tag_tree_build: error while loading shared libraries: 
	libelf.so.0: cannot open shared object file: 
	No such file or directory"
will probably result.
Either: remove libelf.so.* from your $PRIVATE_LIBDIR or set
LD_LIBRARY_PATH to $PRIVATE_LIBDIR, or use LDFLAGS to set
rpath.   Much simpler all around to ensure that $PRIVATE_LIBDIR
only has archive libelf, not shared-library libelf.


David Anderson.  davea42  at  earthlink dot net.