tags 895574 + moreinfo thanks Hi Jeremy,
Thanks for the report! > armhf is a bit different than the other Ubuntu architectures because > it uses a different kind of virtualization I suspect the underlying problem is that we are not detecting profiling information on armhf correctly. The relevant code is: https://salsa.debian.org/lintian/lintian/blob/master/checks/binaries.pm#L192-207 I have attached the "readelf -WltdVs" output of "basic.c" compiled on the harris.debian.org porterbox. Whilst I see a "GLIBC_" section, I do see an mcount: 117: 00000000 0 FUNC GLOBAL DEFAULT UND __gnu_mcount_nc@@GLIBC_2.8 Can someone with some ELF knowledge chime in here? :) Best wishes, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
There are 30 section headers, starting at offset 0x1cc8: Section Headers: [Nr] Name Type Addr Off Size ES Lk Inf Al Flags [ 0] NULL 00000000 000000 000000 00 0 0 0 [00000000]: [ 1] .interp PROGBITS 00010154 000154 000019 00 0 0 1 [00000002]: ALLOC [ 2] .note.ABI-tag NOTE 00010170 000170 000020 00 0 0 4 [00000002]: ALLOC [ 3] .note.gnu.build-id NOTE 00010190 000190 000024 00 0 0 4 [00000002]: ALLOC [ 4] .gnu.hash GNU_HASH 000101b4 0001b4 000060 04 5 0 4 [00000002]: ALLOC [ 5] .dynsym DYNSYM 00010214 000214 0000f0 10 6 1 4 [00000002]: ALLOC [ 6] .dynstr STRTAB 00010304 000304 0000c2 00 0 0 1 [00000002]: ALLOC [ 7] .gnu.version VERSYM 000103c6 0003c6 00001e 02 5 0 2 [00000002]: ALLOC [ 8] .gnu.version_r VERNEED 000103e4 0003e4 000030 00 6 1 4 [00000002]: ALLOC [ 9] .rel.dyn REL 00010414 000414 000008 08 5 0 4 [00000002]: ALLOC [10] .rel.plt REL 0001041c 00041c 000038 08 5 22 4 [00000042]: ALLOC, INFO LINK [11] .init PROGBITS 00010454 000454 00000c 00 0 0 4 [00000006]: ALLOC, EXEC [12] .plt PROGBITS 00010460 000460 00006c 04 0 0 4 [00000006]: ALLOC, EXEC [13] .text PROGBITS 000104d0 0004d0 0001d8 00 0 0 8 [00000006]: ALLOC, EXEC [14] .fini PROGBITS 000106a8 0006a8 000008 00 0 0 4 [00000006]: ALLOC, EXEC [15] .rodata PROGBITS 000106b0 0006b0 000011 00 0 0 4 [00000002]: ALLOC [16] .ARM.exidx ARM_EXIDX 000106c4 0006c4 000008 00 13 0 4 [00000082]: ALLOC, LINK ORDER [17] .eh_frame PROGBITS 000106cc 0006cc 000004 00 0 0 4 [00000002]: ALLOC [18] .init_array INIT_ARRAY 00020f04 000f04 000004 04 0 0 4 [00000003]: WRITE, ALLOC [19] .fini_array FINI_ARRAY 00020f08 000f08 000004 04 0 0 4 [00000003]: WRITE, ALLOC [20] .jcr PROGBITS 00020f0c 000f0c 000004 00 0 0 4 [00000003]: WRITE, ALLOC [21] .dynamic DYNAMIC 00020f10 000f10 0000f0 08 6 0 4 [00000003]: WRITE, ALLOC [22] .got PROGBITS 00021000 001000 000048 04 0 0 4 [00000003]: WRITE, ALLOC [23] .data PROGBITS 00021048 001048 000008 00 0 0 4 [00000003]: WRITE, ALLOC [24] .bss NOBITS 00021050 001050 000008 00 0 0 4 [00000003]: WRITE, ALLOC [25] .comment PROGBITS 00000000 001050 00002d 01 0 0 1 [00000030]: MERGE, STRINGS [26] .ARM.attributes ARM_ATTRIBUTES 00000000 00107d 000033 00 0 0 1 [00000000]: [27] .symtab SYMTAB 00000000 0010b0 000780 10 28 92 4 [00000000]: [28] .strtab STRTAB 00000000 001830 00038e 00 0 0 1 [00000000]: [29] .shstrtab STRTAB 00000000 001bbe 00010a 00 0 0 1 [00000000]: Elf file type is EXEC (Executable file) Entry point 0x104d1 There are 9 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align EXIDX 0x0006c4 0x000106c4 0x000106c4 0x00008 0x00008 R 0x4 PHDR 0x000034 0x00010034 0x00010034 0x00120 0x00120 R E 0x4 INTERP 0x000154 0x00010154 0x00010154 0x00019 0x00019 R 0x1 [Requesting program interpreter: /lib/ld-linux-armhf.so.3] LOAD 0x000000 0x00010000 0x00010000 0x006d0 0x006d0 R E 0x10000 LOAD 0x000f04 0x00020f04 0x00020f04 0x0014c 0x00154 RW 0x10000 DYNAMIC 0x000f10 0x00020f10 0x00020f10 0x000f0 0x000f0 RW 0x4 NOTE 0x000170 0x00010170 0x00010170 0x00044 0x00044 R 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10 GNU_RELRO 0x000f04 0x00020f04 0x00020f04 0x000fc 0x000fc R 0x1 Section to Segment mapping: Segment Sections... 00 .ARM.exidx 01 02 .interp 03 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .ARM.exidx .eh_frame 04 .init_array .fini_array .jcr .dynamic .got .data .bss 05 .dynamic 06 .note.ABI-tag .note.gnu.build-id 07 08 .init_array .fini_array .jcr .dynamic Dynamic section at offset 0xf10 contains 25 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000f (RPATH) Library rpath: [/usr/local/lib] 0x0000000c (INIT) 0x10454 0x0000000d (FINI) 0x106a8 0x00000019 (INIT_ARRAY) 0x20f04 0x0000001b (INIT_ARRAYSZ) 4 (bytes) 0x0000001a (FINI_ARRAY) 0x20f08 0x0000001c (FINI_ARRAYSZ) 4 (bytes) 0x6ffffef5 (GNU_HASH) 0x101b4 0x00000005 (STRTAB) 0x10304 0x00000006 (SYMTAB) 0x10214 0x0000000a (STRSZ) 194 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x21000 0x00000002 (PLTRELSZ) 56 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x1041c 0x00000011 (REL) 0x10414 0x00000012 (RELSZ) 8 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x103e4 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x103c6 0x00000000 (NULL) 0x0 Symbol table '.dynsym' contains 15 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000 0 FUNC GLOBAL DEFAULT UND _mcleanup@GLIBC_2.4 (2) 2: 00000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.4 (2) 3: 00000000 0 FUNC GLOBAL DEFAULT UND __monstartup@GLIBC_2.4 (2) 4: 00010641 60 FUNC GLOBAL DEFAULT 13 __libc_csu_init 5: 00000000 0 FUNC GLOBAL DEFAULT UND __cxa_atexit@GLIBC_2.4 (2) 6: 000104d1 0 FUNC GLOBAL DEFAULT 13 _start 7: 00010609 54 FUNC GLOBAL DEFAULT 13 main 8: 000106b0 0 NOTYPE GLOBAL DEFAULT 14 etext 9: 00000000 0 FUNC GLOBAL DEFAULT UND __gnu_mcount_nc@GLIBC_2.8 (3) 10: 00000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.4 (2) 11: 0001067d 2 FUNC GLOBAL DEFAULT 13 __libc_csu_fini 12: 00000000 0 FUNC GLOBAL DEFAULT UND strcpy@GLIBC_2.4 (2) 13: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.4 (2) 14: 00010519 64 FUNC GLOBAL DEFAULT 13 __gmon_start__ Symbol table '.symtab' contains 120 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00010154 0 SECTION LOCAL DEFAULT 1 2: 00010170 0 SECTION LOCAL DEFAULT 2 3: 00010190 0 SECTION LOCAL DEFAULT 3 4: 000101b4 0 SECTION LOCAL DEFAULT 4 5: 00010214 0 SECTION LOCAL DEFAULT 5 6: 00010304 0 SECTION LOCAL DEFAULT 6 7: 000103c6 0 SECTION LOCAL DEFAULT 7 8: 000103e4 0 SECTION LOCAL DEFAULT 8 9: 00010414 0 SECTION LOCAL DEFAULT 9 10: 0001041c 0 SECTION LOCAL DEFAULT 10 11: 00010454 0 SECTION LOCAL DEFAULT 11 12: 00010460 0 SECTION LOCAL DEFAULT 12 13: 000104d0 0 SECTION LOCAL DEFAULT 13 14: 000106a8 0 SECTION LOCAL DEFAULT 14 15: 000106b0 0 SECTION LOCAL DEFAULT 15 16: 000106c4 0 SECTION LOCAL DEFAULT 16 17: 000106cc 0 SECTION LOCAL DEFAULT 17 18: 00020f04 0 SECTION LOCAL DEFAULT 18 19: 00020f08 0 SECTION LOCAL DEFAULT 19 20: 00020f0c 0 SECTION LOCAL DEFAULT 20 21: 00020f10 0 SECTION LOCAL DEFAULT 21 22: 00021000 0 SECTION LOCAL DEFAULT 22 23: 00021048 0 SECTION LOCAL DEFAULT 23 24: 00021050 0 SECTION LOCAL DEFAULT 24 25: 00000000 0 SECTION LOCAL DEFAULT 25 26: 00000000 0 SECTION LOCAL DEFAULT 26 27: 00000000 0 FILE LOCAL DEFAULT ABS /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/gcrt1.o 28: 00010170 0 NOTYPE LOCAL DEFAULT 2 $d 29: 000104d0 0 NOTYPE LOCAL DEFAULT 13 $t 30: 00010508 0 NOTYPE LOCAL DEFAULT 13 $d 31: 000106c4 0 NOTYPE LOCAL DEFAULT 16 $d 32: 000106b0 0 NOTYPE LOCAL DEFAULT 15 $d 33: 00021048 0 NOTYPE LOCAL DEFAULT 23 $d 34: 00010518 0 NOTYPE LOCAL DEFAULT 13 $t 35: 00010544 0 NOTYPE LOCAL DEFAULT 13 $d 36: 00021050 0 NOTYPE LOCAL DEFAULT 24 $d 37: 00021050 4 OBJECT LOCAL DEFAULT 24 called.7928 38: 00000000 0 FILE LOCAL DEFAULT ABS /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/crti.o 39: 00010558 0 NOTYPE LOCAL DEFAULT 13 $a 40: 00010558 0 FUNC LOCAL DEFAULT 13 call_weak_fn 41: 00010574 0 NOTYPE LOCAL DEFAULT 13 $d 42: 00010454 0 NOTYPE LOCAL DEFAULT 11 $a 43: 000106a8 0 NOTYPE LOCAL DEFAULT 14 $a 44: 00000000 0 FILE LOCAL DEFAULT ABS /usr/lib/gcc/arm-linux-gnueabihf/6/../../../arm-linux-gnueabihf/crtn.o 45: 0001045c 0 NOTYPE LOCAL DEFAULT 11 $a 46: 000106ac 0 NOTYPE LOCAL DEFAULT 14 $a 47: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 48: 00020f0c 0 OBJECT LOCAL DEFAULT 20 __JCR_LIST__ 49: 0001057d 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones 50: 0001057c 0 NOTYPE LOCAL DEFAULT 13 $t 51: 0001059c 0 NOTYPE LOCAL DEFAULT 13 $d 52: 000105a0 0 NOTYPE LOCAL DEFAULT 13 $t 53: 000105a1 0 FUNC LOCAL DEFAULT 13 register_tm_clones 54: 0002104c 0 NOTYPE LOCAL DEFAULT 23 $d 55: 000105cd 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux 56: 00021054 1 OBJECT LOCAL DEFAULT 24 completed.10395 57: 00020f08 0 NOTYPE LOCAL DEFAULT 19 $d 58: 00020f08 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry 59: 000105e5 0 FUNC LOCAL DEFAULT 13 frame_dummy 60: 00020f04 0 NOTYPE LOCAL DEFAULT 18 $d 61: 00020f04 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry 62: 00021054 0 NOTYPE LOCAL DEFAULT 24 $d 63: 00000000 0 FILE LOCAL DEFAULT ABS basic.c 64: 000106b4 0 NOTYPE LOCAL DEFAULT 15 $d 65: 00010608 0 NOTYPE LOCAL DEFAULT 13 $t 66: 00000000 0 FILE LOCAL DEFAULT ABS elf-init.oS 67: 00010640 0 NOTYPE LOCAL DEFAULT 13 $t 68: 00010674 0 NOTYPE LOCAL DEFAULT 13 $d 69: 0001067c 0 NOTYPE LOCAL DEFAULT 13 $t 70: 00000000 0 FILE LOCAL DEFAULT ABS atexit.oS 71: 00010680 0 NOTYPE LOCAL DEFAULT 13 $t 72: 00010694 0 NOTYPE LOCAL DEFAULT 13 $d 73: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 74: 000106cc 0 NOTYPE LOCAL DEFAULT 17 $d 75: 000106cc 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ 76: 00020f0c 0 NOTYPE LOCAL DEFAULT 20 $d 77: 00020f0c 0 OBJECT LOCAL DEFAULT 20 __JCR_END__ 78: 00000000 0 FILE LOCAL DEFAULT ABS 79: 00020f08 0 NOTYPE LOCAL DEFAULT 18 __init_array_end 80: 0002104c 0 OBJECT LOCAL DEFAULT 23 __dso_handle 81: 00020f10 0 OBJECT LOCAL DEFAULT 21 _DYNAMIC 82: 00020f04 0 NOTYPE LOCAL DEFAULT 18 __init_array_start 83: 00021000 0 OBJECT LOCAL DEFAULT 22 _GLOBAL_OFFSET_TABLE_ 84: 000106a0 8 FUNC LOCAL DEFAULT 13 ____gmon_start___from_arm 85: 000106a0 0 NOTYPE LOCAL DEFAULT 13 $a 86: 000106a4 0 NOTYPE LOCAL DEFAULT 13 $d 87: 00010460 0 NOTYPE LOCAL DEFAULT 12 $a 88: 00010470 0 NOTYPE LOCAL DEFAULT 12 $d 89: 00010474 0 NOTYPE LOCAL DEFAULT 12 $a 90: 000104a4 0 NOTYPE LOCAL DEFAULT 12 $t 91: 000104a8 0 NOTYPE LOCAL DEFAULT 12 $a 92: 0001067d 2 FUNC GLOBAL DEFAULT 13 __libc_csu_fini 93: 00021048 0 NOTYPE WEAK DEFAULT 23 data_start 94: 00021050 0 NOTYPE GLOBAL DEFAULT 24 __bss_start__ 95: 00010681 28 FUNC GLOBAL HIDDEN 13 atexit 96: 00000000 0 FUNC GLOBAL DEFAULT UND _mcleanup@@GLIBC_2.4 97: 00021058 0 NOTYPE GLOBAL DEFAULT 24 _bss_end__ 98: 00021050 0 NOTYPE GLOBAL DEFAULT 23 _edata 99: 000106a8 0 FUNC GLOBAL DEFAULT 14 _fini 100: 00021058 0 NOTYPE GLOBAL DEFAULT 24 __bss_end__ 101: 00000000 0 FUNC GLOBAL DEFAULT UND __monstartup@@GLIBC_2.4 102: 00000000 0 FUNC GLOBAL DEFAULT UND strcpy@@GLIBC_2.4 103: 00021048 0 NOTYPE GLOBAL DEFAULT 23 __data_start 104: 00000000 0 FUNC GLOBAL DEFAULT UND puts@@GLIBC_2.4 105: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.4 106: 00010519 64 FUNC GLOBAL DEFAULT 13 __gmon_start__ 107: 000106b0 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used 108: 00010641 60 FUNC GLOBAL DEFAULT 13 __libc_csu_init 109: 00000000 0 FUNC GLOBAL DEFAULT UND __cxa_atexit@@GLIBC_2.4 110: 00021058 0 NOTYPE GLOBAL DEFAULT 24 _end 111: 000104d1 0 FUNC GLOBAL DEFAULT 13 _start 112: 00021058 0 NOTYPE GLOBAL DEFAULT 24 __end__ 113: 00021050 0 NOTYPE GLOBAL DEFAULT 24 __bss_start 114: 00010609 54 FUNC GLOBAL DEFAULT 13 main 115: 000106b0 0 NOTYPE GLOBAL DEFAULT 14 etext 116: 00021050 0 OBJECT GLOBAL HIDDEN 23 __TMC_END__ 117: 00000000 0 FUNC GLOBAL DEFAULT UND __gnu_mcount_nc@@GLIBC_2.8 118: 00000000 0 FUNC GLOBAL DEFAULT UND abort@@GLIBC_2.4 119: 00010454 0 FUNC GLOBAL DEFAULT 11 _init Version symbols section '.gnu.version' contains 15 entries: Addr: 00000000000103c6 Offset: 0x0003c6 Link: 5 (.dynsym) 000: 0 (*local*) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 2 (GLIBC_2.4) 004: 1 (*global*) 2 (GLIBC_2.4) 1 (*global*) 1 (*global*) 008: 1 (*global*) 3 (GLIBC_2.8) 2 (GLIBC_2.4) 1 (*global*) 00c: 2 (GLIBC_2.4) 2 (GLIBC_2.4) 1 (*global*) Version needs section '.gnu.version_r' contains 1 entry: Addr: 0x00000000000103e4 Offset: 0x0003e4 Link: 6 (.dynstr) 000000: Version: 1 File: libc.so.6 Cnt: 2 0x0010: Name: GLIBC_2.8 Flags: none Version: 3 0x0020: Name: GLIBC_2.4 Flags: none Version: 2