Displaying 20 results from an estimated 3000 matches similar to: "emulated-tls + LTO"
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
LLD revision is r331862. To add, I had initially tried it on r328903,
which also reproduced the issue.
On Wed, May 9, 2018 at 9:26 AM Pirama Arumuga Nainar <pirama at google.com>
wrote:
> Hi Teresa,
>
> Thanks for looking into this. I hadn't initially tried ToT, but it
> reproduces in ToT as well when I tried.
>
> $ ./clang --version
>
> clang version 7.0.0
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
Adding Peter to comment on the linker resolution issue.
>From adding save-temps, it looks like lld and gold are giving different
resolutions 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
<
2018 May 09
0
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
Sorry, operator error. I can reproduce now. Interestingly, this does not
reproduce using gold, and they utilize the same underlying LTO API. Let me
dig a little using save-temps and see where they diverge.
Teresa
On Wed, May 9, 2018 at 9:28 AM Pirama Arumuga Nainar <pirama at google.com>
wrote:
> LLD revision is r331862. To add, I had initially tried it on r328903,
> which also
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
On Wed, May 9, 2018 at 6:43 AM Teresa Johnson <tejohnson at google.com> wrote:
> Hi Pirama,
>
> I can't reproduce with either lld or 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>
2018 May 11
1
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
Thanks Peter, your patch does fix the reproducer. I filed
https://bugs.llvm.org/show_bug.cgi?id=37422 to track this bug. I have no
clue on how to resolve the tests - whether further cleanup is required in
the code or in the tests. But if Teresa or you cannot get to it, I can,
with some help, take a crack at fixing the tests.
On Wed, May 9, 2018 at 11:26 AM Peter Collingbourne <peter at
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]
2018 May 09
0
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
Hi Teresa,
Thanks for looking into this. I hadn't initially tried ToT, but it
reproduces in ToT as well when I tried.
$ ./clang --version
clang version 7.0.0 (trunk 331879) (llvm/trunk 331888)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /ssd2/pirama/llvm-upstream/llvm-release/bin/.
$ ./ld.lld --version
LLD 7.0.0 (https://git.llvm.org/git/lld.git
2018 Jun 07
2
[lld] ObjFile::createRegular is oblivious of PendingComdat
Can you upload a reproducer? You can create it using the /linkrepro flag.
Peter
On Thu, Jun 7, 2018 at 2:50 PM, Reid Kleckner via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> GCC does comdats completely differently from the spec. Since you contacted
> me about this off of the mailing list, I started investigating what they
> do, and it is completely different. It's
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 -fprofile-generate -flto=thin -c
$ clang
2019 Dec 02
2
Avoiding function addresses in llvm_prf_data when value profiling is disabled
I encountered an issue when enabling code coverage for Android and would
like to confirm my findings and ask for suggestions.
Here is my finding:
When -fprofile-instr-generate, an llvm_prf_data section gets created that
has entries for each function in the TU. One of the entries is
FunctionAddr which holds the address of the function. Underneath, it is a
relocation so it gets patched with the
2018 Jun 07
2
[lld] ObjFile::createRegular is oblivious of PendingComdat
I encountered a segfault when using lld to cross-compile for Windows
(+MinGW) from Linux. The problem happens with objects built by gcc. The
problem is that ObjFile::CreateRegular considers a PendingComdat to be
valid (and later causes an illegal pointer dereference). The following
patch fixes the crash:
diff --git a/COFF/InputFiles.cpp b/COFF/InputFiles.cpp
index 9e2345b0a..f47d612df 100644
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
2017 Oct 18
2
LLVM cross-compilation cmake issues
I'm an idiot and sent to llvm-commits instead of llvm-dev. Fixing.
On 10/17/17, 5:09 PM, "llvm-commits on behalf of Shoaib Meenai via llvm-commits" <llvm-commits-bounces at lists.llvm.org on behalf of llvm-commits at lists.llvm.org> wrote:
Hi all (CC beanz for cmake advice),
I'm running into a cmake problem when I try to cross-compile a
2018 Dec 08
2
using emulated-tls on Darwin 8, 9, 10
On 2018-12-08 19:10, Ken Cunningham via llvm-dev wrote:
> So putting it into libc++abi.dylib might indeed be the only workable method, assuming each executable would get it's own copy in memory and they wouldn't all collide together.
Can ibc++abi link with libclang_rt to resolve the symbol?
--
/Jacob Carlborg
2018 Dec 10
2
using emulated-tls on Darwin 8, 9, 10
On 2018-12-08, at 2:27 PM, Ken Cunningham wrote:
> And then we should be in business, and all systems will have thread_local .
All that being sorted out, we now have libc++ 7.0.0 and libc++abi built and being used with emulated-tls support on darwin < 11 now. Thanks!
The last bit of this I plan to sort out would be how to tweak the following patch so that __cxa_thread_atexit would be
2018 Dec 08
2
using emulated-tls on Darwin 8, 9, 10
> On 2018-12-07 22:30, Ken Cunningham via llvm-dev wrote:
>> Please excuse hobbiest-level question.
>> Darwin 11+ enables thread_local variables using system-level supports.
>> I have an interest in enabling TLS on darwin < 11 using emulated-tls.
>
> Is anyone still running macOS 10.6 or older?
>
> --
> /Jacob Carlborg
>
[off topic, apologies]
Yes,
2018 Dec 07
2
using emulated-tls on Darwin 8, 9, 10
Please excuse hobbiest-level question.
Darwin 11+ enables thread_local variables using system-level supports.
I have an interest in enabling TLS on darwin < 11 using emulated-tls. This can be enabled with a few modest patches:
==========================
--- a/include/llvm/ADT/Triple.h.orig 2018-10-02 17:38:10.000000000 -0700
+++ b/include/llvm/ADT/Triple.h 2018-10-02 17:38:58.000000000
2019 Jan 22
2
Windows JIT-Client and Emulated TLS
Hello LLVM-World,
yeah... It's me again and still with the never ending (but cool) task of jitting BC files under windows.
My setup is: LLVM 7.0.0, with the corresponding Clang, Visual Studio 2017 (Clang integrated via "vix" installer) and my target is also windows x64.
I create BC files with clang-cl and have currently a new test code, which has a static variable inside a lambda
2017 Sep 07
4
Status of debuginfo-tests
On Thu, Sep 7, 2017 at 11:41 AM Adrian Prantl <aprantl at apple.com> wrote:
>
> > On Sep 7, 2017, at 11:23 AM, Zachary Turner <zturner at google.com> wrote:
> > How do you run it?
>
> The repository is supposed to be cloned into llvm/tools/clang/test and
> will then appear as part of check-clang.
>
> > It doesn't appear to be based on lit, any
2020 Jan 24
4
ORC JIT Weekly #2 -- COFF COMDAT Constants and Emulated TLS
Hi All,
This week I've been focused on removing some of the blockers for people transitioning from ORCv1 to ORCv2.
Issue #1 (http://llvm.org/PR40074, http://llvm.org/PR44337):
When LLVM codegens floating point constants for COFF we produce named constant pool entries of the form __real@<bitval>. These are stored in COFF COMDAT sections [1] which allow duplicate symbol definitions to