libdwfl/
* dwfl_module_addrsym.c (dwfl_module_addrsym): New function binding_value. Use
it for both zero and non-zero size symbols comparisons.
tests/
* run-addrname-test.sh: New test for symbol preferences.
* testfile64.bz2: New file.
Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 37e214e..ac1a1f8 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-10 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * run-addrname-test.sh: New test for symbol preferences.
+ * testfile64.bz2: New file.
+
2012-10-01 Mark Wielaard <mjw@redhat.com>
* Makefile.am (TESTS_ENVIRONMENT): Define valgrind_cmd if USE_VALGRIND.
diff --git a/tests/run-addrname-test.sh b/tests/run-addrname-test.sh
index 3531643..034cf6f 100755
--- a/tests/run-addrname-test.sh
+++ b/tests/run-addrname-test.sh
@@ -211,4 +211,85 @@
??:0
EOF
+# .macro global label size
+#\label: .globl \label
+# .size \label, \size
+# .endm
+# .macro weak label size
+#\label: .weak \label
+# .size \label, \size
+# .endm
+# .macro local label size
+#\label: .size \label, \size
+# .endm
+# .macro offset val
+# .ifne (. - _start) - \val
+# .err
+# .endif
+# .byte \val
+# .endm
+#
+#_start:
+# offset 0
+#
+# local glocal, 1
+# weak gweak, 1
+# global gglobal1, 2
+# global gglobal2, 1
+# global gglobal3, 1
+# offset 1
+# /* Symbols end here. */
+# offset 2
+# /* gglobal1 ends here. */
+# offset 3
+#
+# local g0local, 0
+# weak g0weak, 0
+# global g0global1, 0
+# global g0global2, 0
+# offset 4
+#
+# local wlocal, 1
+# weak wweak1, 2
+# weak wweak2, 1
+# weak wweak3, 1
+# offset 5
+# /* Symbols end here. */
+# offset 6
+# /* wweak1 ends here. */
+# offset 7
+#
+# local w0local, 0
+# weak w0weak1, 0
+# weak w0weak2, 0
+# offset 8
+#
+# local llocal1, 2
+# local llocal2, 1
+# local llocal3, 1
+# offset 9
+# /* Symbols end here. */
+# offset 10
+# /* llocal1 ends here. */
+# offset 11
+#
+# local l0local1, 0
+# local l0local2, 0
+# offset 12
+testfiles testfile64
+testrun_compare ../src/addr2line -S -e testfile64 1 4 5 8 9 12 <<\EOF
+gglobal2
+??:0
+g0global2
+??:0
+wweak2
+??:0
+w0weak2
+??:0
+llocal2
+??:0
+l0local2
+??:0
+EOF
+
exit 0
diff --git a/tests/testfile64.bz2 b/tests/testfile64.bz2
new file mode 100644
index 0000000..674bd53
--- /dev/null
+++ b/tests/testfile64.bz2
Binary files differ