]> sbz's 6dev Repos - elfdbg/.git/blame - README.md
Display output when ATF test case is failing
[elfdbg/.git] / README.md
CommitLineData
f4b470b9 1# elfdbg
1960d10e
SB
2
3## About
4
5This project _elfdbg_ is a utility program to quickly identify if an ELF binary
6is built with [debug sections](https://en.wikipedia.org/wiki/Debug_symbol)
7
8Debug sections in ELF binary usually are generated using the `-g` flag with the
9compiler. The compiler adds the new `.debug_*` sections in the binary.
10
11The program is looking for the existence of sections with name starting with
12`.debug_` to determine if the binary has been built with debug information.
13
14The [ELF][ELF] format is a well-known standard. ELF TIS reference specification
15is available [here][spec] and as a FreeBSD [elf(5)][man] man page.
16
17## Build and install
18
19The Makefile use the standard BSDMakefile to build the program.
20
21```
22make && sudo make install
23```
24
25## Test
26
27The tests cases are implemented using the FreeBSD test suite framework with
28[kyua](https://github.com/jmmv/kyua) and [Kyuafile](./tests/Kyuafile).
29
30```
31make test
32```
33
34## History
35
36* _2015_ I wrote this using libelf elf(3) and gelf(3) API
37 [f4b470b](https://github.com/sbz/elfdbg/commit/f4b470b)
38* _2020_ I rewrote this without relying on libelf API
39 [96010ce](https://github.com/sbz/eldbg/commit/96010ce)
40
41[ELF]: https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
42[spec]: http://refspecs.linuxbase.org/elf/elf.pdf
43[man]: https://www.freebsd.org/cgi/man.cgi?query=elf&sektion=5