tests: Fix broken dwflsyms tests, extend test and add prelink tests.

The two test files that contains minisymtab tables and the expected test
output were wrongly generated. Also prelink tests were missing to check
that a prelinked main ELF file with separate debug or minisyms generated
correctly adjusted symbol values. The dwflsyms test was also extended to
check print and check the result of dwfl_module_relocate_address.

Reported-by: Josh Stone <jistone@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
This commit is contained in:
Mark Wielaard
2013-11-16 00:11:38 +01:00
parent e31e739697
commit 68ce4fc85b
9 changed files with 275 additions and 103 deletions
+12
View File
@@ -1,3 +1,15 @@
2013-11-15 Mark Wielaard <mjw@redhat.com>
* testfilebazmdb.bz2: Regenerated.
* testfilebazmin.bz2: Likewise.
* testfilebazdbg_pl.bz2: New testfile.
* testfilebazmin_pl.bz2: Likewise.
* Makefile.am (EXTRA_DIST): Add testfilebazdbg_pl.bz2 and
testfilebazmin_pl.bz2.
* dwflsyms.c (list_syms): Call dwfl_module_relocate_address and
print relative address of function symbols.
* run-dwflsyms.sh: Add prelink tests and adjust expected output.
2013-11-01 Michael Forney <mforney@mforney.org>
* Makefile.am (TESTS_ENVIRONMENT): Use and export NM.
+1
View File
@@ -189,6 +189,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-readelf-s.sh testfilebazdbg.bz2 testfilebazdyn.bz2 \
testfilebazmin.bz2 testfilebazdbg.debug.bz2 testfilebazmdb.bz2 \
testfilebaztab.bz2 testfilebasmin.bz2 \
testfilebazdbg_pl.bz2 testfilebazmin_pl.bz2 \
run-dwflsyms.sh \
run-unstrip-n.sh testcore-rtlib.bz2 testcore-rtlib-ppc.bz2 \
run-low_high_pc.sh testfile_low_high_pc.bz2 \
+6 -1
View File
@@ -83,7 +83,7 @@ list_syms (struct Dwfl_Module *mod,
GElf_Sym sym;
GElf_Word shndxp;
const char *name = dwfl_module_getsym (mod, ndx, &sym, &shndxp);
printf("%4d: %s\t%s\t%s (%" PRIu64 ") %#" PRIx64 "\n",
printf("%4d: %s\t%s\t%s (%" PRIu64 ") %#" PRIx64,
ndx, gelf_type (&sym), gelf_bind (&sym), name,
sym.st_size, sym.st_value);
@@ -97,7 +97,12 @@ list_syms (struct Dwfl_Module *mod,
GElf_Word ashndxp;
const char *aname = dwfl_module_addrsym (mod, addr, &asym, &ashndxp);
assert (strcmp (name, aname) == 0);
int res = dwfl_module_relocate_address (mod, &addr);
assert (res != -1);
printf(", rel: %#" PRIx64 "", addr);
}
printf ("\n");
}
return DWARF_CB_OK;
+215 -66
View File
@@ -17,17 +17,20 @@
. $srcdir/test-subr.sh
# Tests dwfl_module_addrsym and dwfl_module_getsym.
# Tests dwfl_module_{addrsym,getsym,relocate_address}
# See run-readelf-s.sh for how to generate test binaries.
testfiles testfilebaztab
testfiles testfilebazdbg testfilebazdbg.debug
testfiles testfilebazdbg_pl
testfiles testfilebazdyn
testfiles testfilebazmdb
testfiles testfilebazmin
testfiles testfilebazmin_pl
testfiles testfilebasmin
tempfiles testfile.dynsym.in testfile.symtab.in testfile.minsym.in dwflsyms.out
tempfiles testfile.symtab_pl.in testfile.minsym_pl.in
cat > testfile.symtab.in <<\EOF
0: NOTYPE LOCAL (0) 0
@@ -65,17 +68,17 @@ cat > testfile.symtab.in <<\EOF
32: SECTION LOCAL (0) 0
33: FILE LOCAL crtstuff.c (0) 0
34: OBJECT LOCAL __JCR_LIST__ (0) 0x200de0
35: FUNC LOCAL deregister_tm_clones (0) 0x710
36: FUNC LOCAL register_tm_clones (0) 0x740
37: FUNC LOCAL __do_global_dtors_aux (0) 0x780
35: FUNC LOCAL deregister_tm_clones (0) 0x710, rel: 0x710
36: FUNC LOCAL register_tm_clones (0) 0x740, rel: 0x740
37: FUNC LOCAL __do_global_dtors_aux (0) 0x780, rel: 0x780
38: OBJECT LOCAL completed.6137 (1) 0x20103c
39: OBJECT LOCAL __do_global_dtors_aux_fini_array_entry (0) 0x200dd8
40: FUNC LOCAL frame_dummy (0) 0x7c0
40: FUNC LOCAL frame_dummy (0) 0x7c0, rel: 0x7c0
41: OBJECT LOCAL __frame_dummy_init_array_entry (0) 0x200dd0
42: FILE LOCAL foo.c (0) 0
43: FILE LOCAL bar.c (0) 0
44: OBJECT LOCAL b1 (4) 0x201034
45: FUNC LOCAL foo (20) 0x814
45: FUNC LOCAL foo (20) 0x814, rel: 0x814
46: FILE LOCAL crtstuff.c (0) 0
47: OBJECT LOCAL __FRAME_END__ (0) 0xa58
48: OBJECT LOCAL __JCR_END__ (0) 0x200de0
@@ -84,28 +87,107 @@ cat > testfile.symtab.in <<\EOF
51: OBJECT LOCAL _DYNAMIC (0) 0x200df0
52: NOTYPE LOCAL __init_array_start (0) 0x200dd0
53: OBJECT LOCAL _GLOBAL_OFFSET_TABLE_ (0) 0x201000
54: FUNC GLOBAL __libc_csu_fini (2) 0x8f0
54: FUNC GLOBAL __libc_csu_fini (2) 0x8f0, rel: 0x8f0
55: NOTYPE WEAK _ITM_deregisterTMCloneTable (0) 0
56: NOTYPE WEAK data_start (0) 0x201030
57: NOTYPE GLOBAL _edata (0) 0x20103c
58: FUNC GLOBAL bar (44) 0x828
59: FUNC GLOBAL _fini (0) 0x8f4
58: FUNC GLOBAL bar (44) 0x828, rel: 0x828
59: FUNC GLOBAL _fini (0) 0x8f4, rel: 0x8f4
60: FUNC GLOBAL __libc_start_main@@GLIBC_2.2.5 (0) 0
61: NOTYPE GLOBAL __data_start (0) 0x201030
62: NOTYPE WEAK __gmon_start__ (0) 0
63: OBJECT GLOBAL __dso_handle (0) 0x200de8
64: OBJECT GLOBAL _IO_stdin_used (4) 0x900
65: OBJECT GLOBAL b2 (4) 0x201038
66: FUNC GLOBAL __libc_csu_init (137) 0x860
66: FUNC GLOBAL __libc_csu_init (137) 0x860, rel: 0x860
67: NOTYPE GLOBAL _end (0) 0x201040
68: FUNC GLOBAL _start (0) 0x6e0
68: FUNC GLOBAL _start (0) 0x6e0, rel: 0x6e0
69: NOTYPE GLOBAL __bss_start (0) 0x20103c
70: FUNC GLOBAL main (35) 0x7f0
70: FUNC GLOBAL main (35) 0x7f0, rel: 0x7f0
71: NOTYPE WEAK _Jv_RegisterClasses (0) 0
72: OBJECT GLOBAL __TMC_END__ (0) 0x201040
73: NOTYPE WEAK _ITM_registerTMCloneTable (0) 0
74: FUNC WEAK __cxa_finalize@@GLIBC_2.2.5 (0) 0
75: FUNC GLOBAL _init (0) 0x680
75: FUNC GLOBAL _init (0) 0x680, rel: 0x680
EOF
cat > testfile.symtab_pl.in <<\EOF
0: NOTYPE LOCAL (0) 0
1: SECTION LOCAL (0) 0x3000000238
2: SECTION LOCAL (0) 0x3000000254
3: SECTION LOCAL (0) 0x3000000274
4: SECTION LOCAL (0) 0x3000000298
5: SECTION LOCAL (0) 0x30000002d8
6: SECTION LOCAL (0) 0x3000000428
7: SECTION LOCAL (0) 0x30000004f2
8: SECTION LOCAL (0) 0x3000000510
9: SECTION LOCAL (0) 0x3000000530
10: SECTION LOCAL (0) 0x3000000638
11: SECTION LOCAL (0) 0x3000000680
12: SECTION LOCAL (0) 0x30000006a0
13: SECTION LOCAL (0) 0x30000006e0
14: SECTION LOCAL (0) 0x30000008f4
15: SECTION LOCAL (0) 0x3000000900
16: SECTION LOCAL (0) 0x3000000904
17: SECTION LOCAL (0) 0x3000000948
18: SECTION LOCAL (0) 0x3000200dd0
19: SECTION LOCAL (0) 0x3000200dd8
20: SECTION LOCAL (0) 0x3000200de0
21: SECTION LOCAL (0) 0x3000200de8
22: SECTION LOCAL (0) 0x3000200df0
23: SECTION LOCAL (0) 0x3000200fc0
24: SECTION LOCAL (0) 0x3000201000
25: SECTION LOCAL (0) 0x3000201030
26: SECTION LOCAL (0) 0x300020103c
27: SECTION LOCAL (0) 0
28: SECTION LOCAL (0) 0
29: SECTION LOCAL (0) 0
30: SECTION LOCAL (0) 0
31: SECTION LOCAL (0) 0
32: SECTION LOCAL (0) 0
33: FILE LOCAL crtstuff.c (0) 0
34: OBJECT LOCAL __JCR_LIST__ (0) 0x3000200de0
35: FUNC LOCAL deregister_tm_clones (0) 0x3000000710, rel: 0x710
36: FUNC LOCAL register_tm_clones (0) 0x3000000740, rel: 0x740
37: FUNC LOCAL __do_global_dtors_aux (0) 0x3000000780, rel: 0x780
38: OBJECT LOCAL completed.6137 (1) 0x300020103c
39: OBJECT LOCAL __do_global_dtors_aux_fini_array_entry (0) 0x3000200dd8
40: FUNC LOCAL frame_dummy (0) 0x30000007c0, rel: 0x7c0
41: OBJECT LOCAL __frame_dummy_init_array_entry (0) 0x3000200dd0
42: FILE LOCAL foo.c (0) 0
43: FILE LOCAL bar.c (0) 0
44: OBJECT LOCAL b1 (4) 0x3000201034
45: FUNC LOCAL foo (20) 0x3000000814, rel: 0x814
46: FILE LOCAL crtstuff.c (0) 0
47: OBJECT LOCAL __FRAME_END__ (0) 0x3000000a58
48: OBJECT LOCAL __JCR_END__ (0) 0x3000200de0
49: FILE LOCAL (0) 0
50: NOTYPE LOCAL __init_array_end (0) 0x3000200dd8
51: OBJECT LOCAL _DYNAMIC (0) 0x3000200df0
52: NOTYPE LOCAL __init_array_start (0) 0x3000200dd0
53: OBJECT LOCAL _GLOBAL_OFFSET_TABLE_ (0) 0x3000201000
54: FUNC GLOBAL __libc_csu_fini (2) 0x30000008f0, rel: 0x8f0
55: NOTYPE WEAK _ITM_deregisterTMCloneTable (0) 0
56: NOTYPE WEAK data_start (0) 0x3000201030
57: NOTYPE GLOBAL _edata (0) 0x300020103c
58: FUNC GLOBAL bar (44) 0x3000000828, rel: 0x828
59: FUNC GLOBAL _fini (0) 0x30000008f4, rel: 0x8f4
60: FUNC GLOBAL __libc_start_main@@GLIBC_2.2.5 (0) 0
61: NOTYPE GLOBAL __data_start (0) 0x3000201030
62: NOTYPE WEAK __gmon_start__ (0) 0
63: OBJECT GLOBAL __dso_handle (0) 0x3000200de8
64: OBJECT GLOBAL _IO_stdin_used (4) 0x3000000900
65: OBJECT GLOBAL b2 (4) 0x3000201038
66: FUNC GLOBAL __libc_csu_init (137) 0x3000000860, rel: 0x860
67: NOTYPE GLOBAL _end (0) 0x3000201040
68: FUNC GLOBAL _start (0) 0x30000006e0, rel: 0x6e0
69: NOTYPE GLOBAL __bss_start (0) 0x300020103c
70: FUNC GLOBAL main (35) 0x30000007f0, rel: 0x7f0
71: NOTYPE WEAK _Jv_RegisterClasses (0) 0
72: OBJECT GLOBAL __TMC_END__ (0) 0x3000201040
73: NOTYPE WEAK _ITM_registerTMCloneTable (0) 0
74: FUNC WEAK __cxa_finalize@@GLIBC_2.2.5 (0) 0
75: FUNC GLOBAL _init (0) 0x3000000680, rel: 0x680
EOF
cat > testfile.dynsym.in <<\EOF
@@ -119,61 +201,122 @@ cat > testfile.dynsym.in <<\EOF
7: FUNC WEAK __cxa_finalize (0) 0
8: NOTYPE GLOBAL _edata (0) 0x20103c
9: NOTYPE GLOBAL _end (0) 0x201040
10: FUNC GLOBAL __libc_csu_init (137) 0x860
10: FUNC GLOBAL __libc_csu_init (137) 0x860, rel: 0x860
11: NOTYPE GLOBAL __bss_start (0) 0x20103c
12: FUNC GLOBAL main (35) 0x7f0
13: FUNC GLOBAL __libc_csu_fini (2) 0x8f0
12: FUNC GLOBAL main (35) 0x7f0, rel: 0x7f0
13: FUNC GLOBAL __libc_csu_fini (2) 0x8f0, rel: 0x8f0
EOF
cat > testfile.minsym.in <<\EOF
0: NOTYPE LOCAL (0) 0
1: SECTION LOCAL (0) 0x238
2: FUNC LOCAL call_gmon_start (0) 0x4003bc
3: FUNC LOCAL __do_global_dtors_aux (0) 0x4003e0
4: FUNC LOCAL frame_dummy (0) 0x400450
5: FUNC LOCAL __do_global_ctors_aux (0) 0x400580
6: FUNC LOCAL foo (18) 0x400498
7: SECTION LOCAL (0) 0x400200
8: SECTION LOCAL (0) 0x40021c
9: SECTION LOCAL (0) 0x40023c
10: SECTION LOCAL (0) 0x400260
11: SECTION LOCAL (0) 0x400280
12: SECTION LOCAL (0) 0x4002c8
13: SECTION LOCAL (0) 0x400300
14: SECTION LOCAL (0) 0x400308
15: SECTION LOCAL (0) 0x400328
16: SECTION LOCAL (0) 0x400340
17: SECTION LOCAL (0) 0x400358
18: SECTION LOCAL (0) 0x400370
19: SECTION LOCAL (0) 0x400390
20: SECTION LOCAL (0) 0x4005b8
21: SECTION LOCAL (0) 0x4005c8
22: SECTION LOCAL (0) 0x4005d8
23: SECTION LOCAL (0) 0x400610
24: SECTION LOCAL (0) 0x6006d0
25: SECTION LOCAL (0) 0x6006e0
26: SECTION LOCAL (0) 0x6006f0
27: SECTION LOCAL (0) 0x6006f8
28: SECTION LOCAL (0) 0x600888
29: SECTION LOCAL (0) 0x600890
30: SECTION LOCAL (0) 0x6008b0
31: SECTION LOCAL (0) 0x6008c0
32: NOTYPE WEAK _ITM_deregisterTMCloneTable (0) 0
33: FUNC GLOBAL __libc_start_main (0) 0
34: NOTYPE WEAK __gmon_start__ (0) 0
35: NOTYPE WEAK _Jv_RegisterClasses (0) 0
36: NOTYPE WEAK _ITM_registerTMCloneTable (0) 0
37: FUNC WEAK __cxa_finalize (0) 0
38: NOTYPE GLOBAL _edata (0) 0x20103c
39: NOTYPE GLOBAL _end (0) 0x201040
40: FUNC GLOBAL __libc_csu_init (137) 0x860
41: NOTYPE GLOBAL __bss_start (0) 0x20103c
42: FUNC GLOBAL main (35) 0x7f0
43: FUNC GLOBAL __libc_csu_fini (2) 0x8f0
44: FUNC GLOBAL _start (0) 0x400390
45: FUNC GLOBAL bar (44) 0x4004aa
46: FUNC GLOBAL _fini (0) 0x4005b8
47: FUNC GLOBAL _init (0) 0x400358
2: FUNC LOCAL deregister_tm_clones (0) 0x710, rel: 0x710
3: FUNC LOCAL register_tm_clones (0) 0x740, rel: 0x740
4: FUNC LOCAL __do_global_dtors_aux (0) 0x780, rel: 0x780
5: OBJECT LOCAL __do_global_dtors_aux_fini_array_entry (0) 0x200dd8
6: FUNC LOCAL frame_dummy (0) 0x7c0, rel: 0x7c0
7: OBJECT LOCAL __frame_dummy_init_array_entry (0) 0x200dd0
8: FUNC LOCAL foo (20) 0x814, rel: 0x814
9: NOTYPE LOCAL __init_array_end (0) 0x200dd8
10: NOTYPE LOCAL __init_array_start (0) 0x200dd0
11: SECTION LOCAL (0) 0x238
12: SECTION LOCAL (0) 0x254
13: SECTION LOCAL (0) 0x274
14: SECTION LOCAL (0) 0x298
15: SECTION LOCAL (0) 0x2d8
16: SECTION LOCAL (0) 0x428
17: SECTION LOCAL (0) 0x4f2
18: SECTION LOCAL (0) 0x510
19: SECTION LOCAL (0) 0x530
20: SECTION LOCAL (0) 0x638
21: SECTION LOCAL (0) 0x680
22: SECTION LOCAL (0) 0x6a0
23: SECTION LOCAL (0) 0x6e0
24: SECTION LOCAL (0) 0x8f4
25: SECTION LOCAL (0) 0x900
26: SECTION LOCAL (0) 0x904
27: SECTION LOCAL (0) 0x948
28: SECTION LOCAL (0) 0x200dd0
29: SECTION LOCAL (0) 0x200dd8
30: SECTION LOCAL (0) 0x200de0
31: SECTION LOCAL (0) 0x200de8
32: SECTION LOCAL (0) 0x200df0
33: SECTION LOCAL (0) 0x200fc0
34: SECTION LOCAL (0) 0x201000
35: SECTION LOCAL (0) 0x201030
36: SECTION LOCAL (0) 0x20103c
37: NOTYPE WEAK _ITM_deregisterTMCloneTable (0) 0
38: FUNC GLOBAL __libc_start_main (0) 0
39: NOTYPE WEAK __gmon_start__ (0) 0
40: NOTYPE WEAK _Jv_RegisterClasses (0) 0
41: NOTYPE WEAK _ITM_registerTMCloneTable (0) 0
42: FUNC WEAK __cxa_finalize (0) 0
43: NOTYPE GLOBAL _edata (0) 0x20103c
44: NOTYPE GLOBAL _end (0) 0x201040
45: FUNC GLOBAL __libc_csu_init (137) 0x860, rel: 0x860
46: NOTYPE GLOBAL __bss_start (0) 0x20103c
47: FUNC GLOBAL main (35) 0x7f0, rel: 0x7f0
48: FUNC GLOBAL __libc_csu_fini (2) 0x8f0, rel: 0x8f0
49: FUNC GLOBAL bar (44) 0x828, rel: 0x828
50: FUNC GLOBAL _fini (0) 0x8f4, rel: 0x8f4
51: FUNC GLOBAL _start (0) 0x6e0, rel: 0x6e0
52: FUNC GLOBAL _init (0) 0x680, rel: 0x680
EOF
cat > testfile.minsym_pl.in <<\EOF
0: NOTYPE LOCAL (0) 0
1: SECTION LOCAL (0) 0x3000000238
2: FUNC LOCAL deregister_tm_clones (0) 0x3000000710, rel: 0x710
3: FUNC LOCAL register_tm_clones (0) 0x3000000740, rel: 0x740
4: FUNC LOCAL __do_global_dtors_aux (0) 0x3000000780, rel: 0x780
5: OBJECT LOCAL __do_global_dtors_aux_fini_array_entry (0) 0x3000200dd8
6: FUNC LOCAL frame_dummy (0) 0x30000007c0, rel: 0x7c0
7: OBJECT LOCAL __frame_dummy_init_array_entry (0) 0x3000200dd0
8: FUNC LOCAL foo (20) 0x3000000814, rel: 0x814
9: NOTYPE LOCAL __init_array_end (0) 0x3000200dd8
10: NOTYPE LOCAL __init_array_start (0) 0x3000200dd0
11: SECTION LOCAL (0) 0x3000000238
12: SECTION LOCAL (0) 0x3000000254
13: SECTION LOCAL (0) 0x3000000274
14: SECTION LOCAL (0) 0x3000000298
15: SECTION LOCAL (0) 0x30000002d8
16: SECTION LOCAL (0) 0x3000000428
17: SECTION LOCAL (0) 0x30000004f2
18: SECTION LOCAL (0) 0x3000000510
19: SECTION LOCAL (0) 0x3000000530
20: SECTION LOCAL (0) 0x3000000638
21: SECTION LOCAL (0) 0x3000000680
22: SECTION LOCAL (0) 0x30000006a0
23: SECTION LOCAL (0) 0x30000006e0
24: SECTION LOCAL (0) 0x30000008f4
25: SECTION LOCAL (0) 0x3000000900
26: SECTION LOCAL (0) 0x3000000904
27: SECTION LOCAL (0) 0x3000000948
28: SECTION LOCAL (0) 0x3000200dd0
29: SECTION LOCAL (0) 0x3000200dd8
30: SECTION LOCAL (0) 0x3000200de0
31: SECTION LOCAL (0) 0x3000200de8
32: SECTION LOCAL (0) 0x3000200df0
33: SECTION LOCAL (0) 0x3000200fc0
34: SECTION LOCAL (0) 0x3000201000
35: SECTION LOCAL (0) 0x3000201030
36: SECTION LOCAL (0) 0x300020103c
37: NOTYPE WEAK _ITM_deregisterTMCloneTable (0) 0
38: FUNC GLOBAL __libc_start_main (0) 0
39: NOTYPE WEAK __gmon_start__ (0) 0
40: NOTYPE WEAK _Jv_RegisterClasses (0) 0
41: NOTYPE WEAK _ITM_registerTMCloneTable (0) 0
42: FUNC WEAK __cxa_finalize (0) 0
43: NOTYPE GLOBAL _edata (0) 0x300020103c
44: NOTYPE GLOBAL _end (0) 0x3000201040
45: FUNC GLOBAL __libc_csu_init (137) 0x3000000860, rel: 0x860
46: NOTYPE GLOBAL __bss_start (0) 0x300020103c
47: FUNC GLOBAL main (35) 0x30000007f0, rel: 0x7f0
48: FUNC GLOBAL __libc_csu_fini (2) 0x30000008f0, rel: 0x8f0
49: FUNC GLOBAL bar (44) 0x3000000828, rel: 0x828
50: FUNC GLOBAL _fini (0) 0x30000008f4, rel: 0x8f4
51: FUNC GLOBAL _start (0) 0x30000006e0, rel: 0x6e0
52: FUNC GLOBAL _init (0) 0x3000000680, rel: 0x680
EOF
cat testfile.symtab.in \
@@ -182,6 +325,9 @@ cat testfile.symtab.in \
cat testfile.symtab.in \
| testrun_compare ${abs_builddir}/dwflsyms -e testfilebazdbg
cat testfile.symtab_pl.in \
| testrun_compare ${abs_builddir}/dwflsyms -e testfilebazdbg_pl
cat testfile.dynsym.in \
| testrun_compare ${abs_builddir}/dwflsyms -e testfilebazdyn
@@ -191,16 +337,19 @@ cat testfile.symtab.in \
cat testfile.minsym.in \
| testrun_compare ${abs_builddir}/dwflsyms -e testfilebazmin
cat testfile.minsym_pl.in \
| testrun_compare ${abs_builddir}/dwflsyms -e testfilebazmin_pl
testrun_compare ${abs_builddir}/dwflsyms -e testfilebasmin <<\EOF
0: NOTYPE LOCAL (0) 0
1: FUNC LOCAL foo (18) 0x400168
1: FUNC LOCAL foo (18) 0x400168, rel: 0x400168
2: SECTION LOCAL (0) 0x400120
3: SECTION LOCAL (0) 0x400144
4: SECTION LOCAL (0) 0x4001c0
5: SECTION LOCAL (0) 0x600258
6: FUNC GLOBAL _start (21) 0x4001a8
7: FUNC GLOBAL main (33) 0x400144
8: FUNC GLOBAL bar (44) 0x40017a
6: FUNC GLOBAL _start (21) 0x4001a8, rel: 0x4001a8
7: FUNC GLOBAL main (33) 0x400144, rel: 0x400144
8: FUNC GLOBAL bar (44) 0x40017a, rel: 0x40017a
EOF
exit 0
+41 -36
View File
@@ -210,44 +210,49 @@ EOF
cat > testfile.minsym.in <<\EOF
Symbol table [27] '.symtab' contains 35 entries:
31 local symbols String table: [28] '.strtab'
Symbol table [28] '.symtab' contains 40 entries:
36 local symbols String table: [29] '.strtab'
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UNDEF
1: 00000000004003bc 0 FUNC LOCAL DEFAULT 13 call_gmon_start
2: 00000000004003e0 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux
3: 0000000000400450 0 FUNC LOCAL DEFAULT 13 frame_dummy
4: 0000000000400580 0 FUNC LOCAL DEFAULT 13 __do_global_ctors_aux
5: 0000000000400498 18 FUNC LOCAL DEFAULT 13 foo
6: 0000000000400200 0 SECTION LOCAL DEFAULT 1
7: 000000000040021c 0 SECTION LOCAL DEFAULT 2
8: 000000000040023c 0 SECTION LOCAL DEFAULT 3
9: 0000000000400260 0 SECTION LOCAL DEFAULT 4
10: 0000000000400280 0 SECTION LOCAL DEFAULT 5
11: 00000000004002c8 0 SECTION LOCAL DEFAULT 6
12: 0000000000400300 0 SECTION LOCAL DEFAULT 7
13: 0000000000400308 0 SECTION LOCAL DEFAULT 8
14: 0000000000400328 0 SECTION LOCAL DEFAULT 9
15: 0000000000400340 0 SECTION LOCAL DEFAULT 10
16: 0000000000400358 0 SECTION LOCAL DEFAULT 11
17: 0000000000400370 0 SECTION LOCAL DEFAULT 12
18: 0000000000400390 0 SECTION LOCAL DEFAULT 13
19: 00000000004005b8 0 SECTION LOCAL DEFAULT 14
20: 00000000004005c8 0 SECTION LOCAL DEFAULT 15
21: 00000000004005d8 0 SECTION LOCAL DEFAULT 16
22: 0000000000400610 0 SECTION LOCAL DEFAULT 17
23: 00000000006006d0 0 SECTION LOCAL DEFAULT 18
24: 00000000006006e0 0 SECTION LOCAL DEFAULT 19
25: 00000000006006f0 0 SECTION LOCAL DEFAULT 20
26: 00000000006006f8 0 SECTION LOCAL DEFAULT 21
27: 0000000000600888 0 SECTION LOCAL DEFAULT 22
28: 0000000000600890 0 SECTION LOCAL DEFAULT 23
29: 00000000006008b0 0 SECTION LOCAL DEFAULT 24
30: 00000000006008c0 0 SECTION LOCAL DEFAULT 25
31: 0000000000400390 0 FUNC GLOBAL DEFAULT 13 _start
32: 00000000004004aa 44 FUNC GLOBAL DEFAULT 13 bar
33: 00000000004005b8 0 FUNC GLOBAL DEFAULT 14 _fini
34: 0000000000400358 0 FUNC GLOBAL DEFAULT 11 _init
1: 0000000000000710 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones
2: 0000000000000740 0 FUNC LOCAL DEFAULT 13 register_tm_clones
3: 0000000000000780 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux
4: 0000000000200dd8 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry
5: 00000000000007c0 0 FUNC LOCAL DEFAULT 13 frame_dummy
6: 0000000000200dd0 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry
7: 0000000000000814 20 FUNC LOCAL DEFAULT 13 foo
8: 0000000000200dd8 0 NOTYPE LOCAL DEFAULT 18 __init_array_end
9: 0000000000200dd0 0 NOTYPE LOCAL DEFAULT 18 __init_array_start
10: 0000000000000238 0 SECTION LOCAL DEFAULT 1
11: 0000000000000254 0 SECTION LOCAL DEFAULT 2
12: 0000000000000274 0 SECTION LOCAL DEFAULT 3
13: 0000000000000298 0 SECTION LOCAL DEFAULT 4
14: 00000000000002d8 0 SECTION LOCAL DEFAULT 5
15: 0000000000000428 0 SECTION LOCAL DEFAULT 6
16: 00000000000004f2 0 SECTION LOCAL DEFAULT 7
17: 0000000000000510 0 SECTION LOCAL DEFAULT 8
18: 0000000000000530 0 SECTION LOCAL DEFAULT 9
19: 0000000000000638 0 SECTION LOCAL DEFAULT 10
20: 0000000000000680 0 SECTION LOCAL DEFAULT 11
21: 00000000000006a0 0 SECTION LOCAL DEFAULT 12
22: 00000000000006e0 0 SECTION LOCAL DEFAULT 13
23: 00000000000008f4 0 SECTION LOCAL DEFAULT 14
24: 0000000000000900 0 SECTION LOCAL DEFAULT 15
25: 0000000000000904 0 SECTION LOCAL DEFAULT 16
26: 0000000000000948 0 SECTION LOCAL DEFAULT 17
27: 0000000000200dd0 0 SECTION LOCAL DEFAULT 18
28: 0000000000200dd8 0 SECTION LOCAL DEFAULT 19
29: 0000000000200de0 0 SECTION LOCAL DEFAULT 20
30: 0000000000200de8 0 SECTION LOCAL DEFAULT 21
31: 0000000000200df0 0 SECTION LOCAL DEFAULT 22
32: 0000000000200fc0 0 SECTION LOCAL DEFAULT 23
33: 0000000000201000 0 SECTION LOCAL DEFAULT 24
34: 0000000000201030 0 SECTION LOCAL DEFAULT 25
35: 000000000020103c 0 SECTION LOCAL DEFAULT 26
36: 0000000000000828 44 FUNC GLOBAL DEFAULT 13 bar
37: 00000000000008f4 0 FUNC GLOBAL DEFAULT 14 _fini
38: 00000000000006e0 0 FUNC GLOBAL DEFAULT 13 _start
39: 0000000000000680 0 FUNC GLOBAL DEFAULT 11 _init
EOF
cat testfile.dynsym.in testfile.symtab.in \
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.