From fdd49d2be02fa62ecbf547e4224663b562077425 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Fri, 6 Mar 2015 13:26:04 -0500 Subject: debug/dwarf: add unit tests for line table reader This adds simple ELF test binaries generated by gcc and clang and compares the line tables returned by the line table reader against tables based on the output of readelf. The binaries were generated with # gcc --version | head -n1 gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 # gcc -g -o line-gcc.elf line*.c # clang --version | head -n1 Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4) # clang -g -o line-clang.elf line*.c Change-Id: Id210fdc1d007ac9719e8f5dc845f2b94eed12234 Reviewed-on: https://go-review.googlesource.com/7070 Reviewed-by: Nigel Tao Reviewed-by: Rob Pike --- src/debug/dwarf/testdata/line-clang.elf | Bin 0 -> 10271 bytes src/debug/dwarf/testdata/line-gcc.elf | Bin 0 -> 10113 bytes src/debug/dwarf/testdata/line1.c | 9 +++++++++ src/debug/dwarf/testdata/line1.h | 7 +++++++ src/debug/dwarf/testdata/line2.c | 6 ++++++ 5 files changed, 22 insertions(+) create mode 100755 src/debug/dwarf/testdata/line-clang.elf create mode 100755 src/debug/dwarf/testdata/line-gcc.elf create mode 100644 src/debug/dwarf/testdata/line1.c create mode 100644 src/debug/dwarf/testdata/line1.h create mode 100644 src/debug/dwarf/testdata/line2.c (limited to 'src/debug/dwarf/testdata') diff --git a/src/debug/dwarf/testdata/line-clang.elf b/src/debug/dwarf/testdata/line-clang.elf new file mode 100755 index 0000000000..b63cc781c4 Binary files /dev/null and b/src/debug/dwarf/testdata/line-clang.elf differ diff --git a/src/debug/dwarf/testdata/line-gcc.elf b/src/debug/dwarf/testdata/line-gcc.elf new file mode 100755 index 0000000000..50500a8eec Binary files /dev/null and b/src/debug/dwarf/testdata/line-gcc.elf differ diff --git a/src/debug/dwarf/testdata/line1.c b/src/debug/dwarf/testdata/line1.c new file mode 100644 index 0000000000..f35864776c --- /dev/null +++ b/src/debug/dwarf/testdata/line1.c @@ -0,0 +1,9 @@ +#include "line1.h" + +void f2(); + +int main() +{ + f1(); + f2(); +} diff --git a/src/debug/dwarf/testdata/line1.h b/src/debug/dwarf/testdata/line1.h new file mode 100644 index 0000000000..974d4c8817 --- /dev/null +++ b/src/debug/dwarf/testdata/line1.h @@ -0,0 +1,7 @@ +static void f1() +{ + char buf[10]; + int i; + for(i = 0; i < 10; i++) + buf[i] = 1; +} diff --git a/src/debug/dwarf/testdata/line2.c b/src/debug/dwarf/testdata/line2.c new file mode 100644 index 0000000000..38d89983cb --- /dev/null +++ b/src/debug/dwarf/testdata/line2.c @@ -0,0 +1,6 @@ +#include + +void f2() +{ + printf("hello\n"); +} -- cgit v1.3