[PATCH] D85116: [compiler-rt][profile] Fix various InstrProf tests on Solaris
Abhishek Arya via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 24 08:19:18 PDT 2020
inferno added a comment.
First, how did you verify that this patch is the culprit? While it seems plausible, I've seen too many cases where a likely candidate turned out to be innocent, wasting everyone's time.
When chromium folks were rolling clang, it was the only suspect in code coverage changes - llvmorg-12-init-1771-g1bd7046e : llvmorg-12-init-3492-ga1caa302 [like git hash, these are tags, git checkout to them work ]
Can you please also provide lots of additional information:
Which platform are you seeing this error on?
Seen on linux. See red ones on https://oss-fuzz-build-logs.storage.googleapis.com/index.html#curl [for now, i had to hardcode a older clang commit]
Which revision of clang were you using? Any local changes? How exactly was cmake invoked?
https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-clang/checkout_build_install_llvm.sh
Which linker do you use?
System linker on ubuntu 16.04 inside docker. GNU ld (GNU Binutils for Ubuntu) 2.26.1
Can you provide the output of readelf -SW for the binary that produces the error, the version of libclang_rt.profile-*.alinked, and if possible for the input objects that have __llvm_prf_names sections?
libclang_rt.profile-x86_64.a
readelf -SW curl_fuzzer_ldap
============================
There are 48 section headers, starting at offset 0xdc56e8:
Section Headers:
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 0000000000400270 000270 00001c 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 000000000040028c 00028c 000020 00 A 0 0 4
[ 3] .gnu.hash GNU_HASH 00000000004002b0 0002b0 0003d8 00 A 4 0 8
[ 4] .dynsym DYNSYM 0000000000400688 000688 0026a0 18 A 5 1 8
[ 5] .dynstr STRTAB 0000000000402d28 002d28 001a18 00 A 0 0 1
[ 6] .gnu.version VERSYM 0000000000404740 004740 000338 02 A 4 0 2
[ 7] .gnu.version_r VERNEED 0000000000404a78 004a78 000180 00 A 5 7 8
[ 8] .rela.dyn RELA 0000000000404bf8 004bf8 0003f0 18 A 4 0 8
[ 9] .rela.plt RELA 0000000000404fe8 004fe8 001980 18 AI 4 28 8
[10] .init PROGBITS 0000000000406968 006968 00001f 00 AX 0 0 4
[11] .plt PROGBITS 0000000000406990 006990 001110 10 AX 0 0 16
[12] .plt.got PROGBITS 0000000000407aa0 007aa0 000068 00 AX 0 0 8
[13] .text PROGBITS 0000000000407c00 007c00 30c58f 00 AX 0 0 256
[14] .fini PROGBITS 0000000000714190 314190 000009 00 AX 0 0 4
[15] .rodata PROGBITS 0000000000715000 315000 0adb73 00 A 0 0 4096
[16] __llvm_prf_names PROGBITS 00000000007c2b73 3c2b73 02ac61 00 A 0 0 1
[17] .eh_frame_hdr PROGBITS 00000000007ed7d4 3ed7d4 01383c 00 A 0 0 4
[18] .eh_frame PROGBITS 0000000000801010 401010 0656e4 00 A 0 0 8
[19] .gcc_except_table PROGBITS 00000000008666f4 4666f4 0003a8 00 A 0 0 4
[20] .tbss NOBITS 0000000000a67590 467590 000038 00 WAT 0 0 8
[21] .preinit_array PREINIT_ARRAY 0000000000a67590 467590 000010 00 WA 0 0 8
[22] .init_array INIT_ARRAY 0000000000a675a0 4675a0 000030 00 WA 0 0 8
[23] .fini_array FINI_ARRAY 0000000000a675d0 4675d0 000008 00 WA 0 0 8
[24] .jcr PROGBITS 0000000000a675d8 4675d8 000008 00 WA 0 0 8
[25] .data.rel.ro PROGBITS 0000000000a675e0 4675e0 00a698 00 WA 0 0 16
[26] .dynamic DYNAMIC 0000000000a71c78 471c78 000250 10 WA 5 0 8
[27] .got PROGBITS 0000000000a71ec8 471ec8 000138 08 WA 0 0 8
[28] .got.plt PROGBITS 0000000000a72000 472000 000898 08 WA 0 0 8
[29] .data PROGBITS 0000000000a728a0 4728a0 014cd8 00 WA 0 0 16
[30] __llvm_prf_cnts PROGBITS 0000000000a87578 487578 0766c0 00 WA 0 0 8
[31] __llvm_prf_data PROGBITS 0000000000afdc38 4fdc38 057f60 00 WA 0 0 8
[32] __llvm_prf_vnds PROGBITS 0000000000b55ba0 555ba0 006000 00 WA 0 0 16
[33] .bss NOBITS 0000000000b5bc00 55bba0 94cf10 00 WA 0 0 512
[34] .comment PROGBITS 0000000000000000 55bba0 00009e 01 MS 0 0 1
[35] .deplibs LOOS+fff4c04 0000000000000000 55bc3e 00000b 01 MS 0 0 1
[36] __llvm_covfun PROGBITS 0000000000000000 55bc50 252b95 00 0 0 8
[37] __llvm_covmap PROGBITS 0000000000000000 7ae7e8 01b6e0 00 0 0 8
[38] .debug_aranges PROGBITS 0000000000000000 7c9ec8 0004f0 00 0 0 1
[39] .debug_info PROGBITS 0000000000000000 7ca3b8 245d9a 00 0 0 1
[40] .debug_abbrev PROGBITS 0000000000000000 a10152 019e15 00 0 0 1
[41] .debug_line PROGBITS 0000000000000000 a29f67 163fa0 00 0 0 1
[42] .debug_str PROGBITS 0000000000000000 b8df07 0371eb 01 MS 0 0 1
[43] .debug_loc PROGBITS 0000000000000000 bc50f2 085fcd 00 0 0 1
[44] .debug_ranges PROGBITS 0000000000000000 c4b0bf 056450 00 0 0 1
[45] .shstrtab STRTAB 0000000000000000 dc54fc 0001ec 00 0 0 1
[46] .symtab SYMTAB 0000000000000000 ca1510 084ae0 18 47 7588 8
[47] .strtab STRTAB 0000000000000000 d25ff0 09f50c 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
I dont know how to get __llvm_prf_names section
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85116/new/
https://reviews.llvm.org/D85116
More information about the llvm-commits
mailing list