search for: __llvm_profile_filename

Displaying 9 results from an estimated 9 matches for "__llvm_profile_filename".

2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
The duplicate symbol errors are for __llvm_profile_filename and __llvm_profile_raw_version. IIUC, these are supposed to be weak symbols but Thin LTO seems to break this in some way. This does't happen with gold or no LTO or full LTO. $ cat > a.c extern int foo(); int main() { return foo(); } $ cat > b.c int foo() { return 0; } $ clang a.c...
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
...ions to the symbols, which is presumably creating this issue: (first file is with lld and second is with gold) $ diff a.out.resolution.txt gold/ 4c4 < -r=a.o,__llvm_profile_raw_version,plx --- > -r=a.o,__llvm_profile_raw_version,l 8,9c8,9 < -r=b.o,__llvm_profile_raw_version,x < -r=b.o,__llvm_profile_filename,x --- > -r=b.o,__llvm_profile_raw_version,l > -r=b.o,__llvm_profile_filename,l I.e. with lld they are all marked as exported. Peter, any ideas? Teresa On Wed, May 9, 2018 at 9:52 AM Teresa Johnson <tejohnson at google.com> wrote: > Sorry, operator error. I can reproduce now. In...
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
...gold, using a compiler built from > head. What version is your clang? > (and your lld) > > Thanks, > Teresa > > On Tue, May 8, 2018 at 7:50 PM Pirama Arumuga Nainar via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> The duplicate symbol errors are for __llvm_profile_filename and __llvm_profile_raw_version. >> IIUC, these are supposed to be weak symbols but Thin LTO seems to break >> this in some way. This does't happen with gold or no LTO or full LTO. >> >> $ cat > a.c >> extern int foo(); >> >> int main() { >>...
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
...and your lld) >> >> >>> >>> Thanks, >>> Teresa >>> >>> On Tue, May 8, 2018 at 7:50 PM Pirama Arumuga Nainar via llvm-dev < >>> llvm-dev at lists.llvm.org> wrote: >>> >>>> The duplicate symbol errors are for __llvm_profile_filename and __llvm_profile_raw_version. >>>> IIUC, these are supposed to be weak symbols but Thin LTO seems to break >>>> this in some way. This does't happen with gold or no LTO or full LTO. >>>> >>>> $ cat > a.c >>>> extern int foo(); &g...
2018 May 09
0
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
The problem is that ThinLTO is not dropping the non-prevailing definitions, and they end up being emitted into the object file for b.o. $ ../ra/bin/llvm-dis -o - b.o0.0.preopt.bc | grep __llvm_prof $__llvm_profile_raw_version = comdat any $__llvm_profile_filename = comdat any @__llvm_profile_raw_version = constant i64 72057594037927940, comdat @__llvm_profile_filename = constant [19 x i8] c"default_%m.profraw\00", comdat lld ignores comdats in LTO object files because it expects all comdats to have already been resolved. So we see this error. We...
2018 May 11
1
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
...eter at pcc.me.uk> wrote: > The problem is that ThinLTO is not dropping the non-prevailing > definitions, and they end up being emitted into the object file for b.o. > > $ ../ra/bin/llvm-dis -o - b.o0.0.preopt.bc | grep __llvm_prof > $__llvm_profile_raw_version = comdat any > $__llvm_profile_filename = comdat any > @__llvm_profile_raw_version = constant i64 72057594037927940, comdat > @__llvm_profile_filename = constant [19 x i8] c"default_%m.profraw\00", > comdat > > lld ignores comdats in LTO object files because it expects all comdats to > have already been resolv...
2018 May 09
0
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
Hi Pirama, I can't reproduce with either lld or gold, using a compiler built from head. What version is your clang? Thanks, Teresa On Tue, May 8, 2018 at 7:50 PM Pirama Arumuga Nainar via llvm-dev < llvm-dev at lists.llvm.org> wrote: > The duplicate symbol errors are for __llvm_profile_filename and __llvm_profile_raw_version. > IIUC, these are supposed to be weak symbols but Thin LTO seems to break > this in some way. This does't happen with gold or no LTO or full LTO. > > $ cat > a.c > extern int foo(); > > int main() { > return foo(); > } > > $...
2018 May 09
0
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
...>>>> >>>> Thanks, >>>> Teresa >>>> >>>> On Tue, May 8, 2018 at 7:50 PM Pirama Arumuga Nainar via llvm-dev < >>>> llvm-dev at lists.llvm.org> wrote: >>>> >>>>> The duplicate symbol errors are for __llvm_profile_filename and __llvm_profile_raw_version. >>>>> IIUC, these are supposed to be weak symbols but Thin LTO seems to break >>>>> this in some way. This does't happen with gold or no LTO or full LTO. >>>>> >>>>> $ cat > a.c >>>>>...
2018 May 09
0
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
...t version is your clang? >> > (and your lld) > > >> >> Thanks, >> Teresa >> >> On Tue, May 8, 2018 at 7:50 PM Pirama Arumuga Nainar via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> The duplicate symbol errors are for __llvm_profile_filename and __llvm_profile_raw_version. >>> IIUC, these are supposed to be weak symbols but Thin LTO seems to break >>> this in some way. This does't happen with gold or no LTO or full LTO. >>> >>> $ cat > a.c >>> extern int foo(); >>> >>&...