Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Weird msan problem"
2014 Jan 28
2
[LLVMdev] Weird msan problem
I assume there are transitions between JITted code and native helper
functions. How are you handling them? Are native functions
MSan-instrumented?
MSan is passing shadow across function calls in TLS slots. Does your
TLS implementation guarantee that accesses to __msan_param_tls from
JITted and from native code map to the same memory?
On Mon, Jan 27, 2014 at 11:36 PM, Evgeniy Stepanov
2014 Feb 01
2
[LLVMdev] Weird msan problem
I have verified that both TLS implementations indeed find the same area of
memory. Anything else I could look for?
On Tue, Jan 28, 2014 at 4:28 PM, Keno Fischer
<kfischer at college.harvard.edu>wrote:
> Yes, both JIT code and the native runtime are instrumented. I am under the
> impressions that the the C library should guarantee that from the way the
> relocations are
2014 Feb 02
2
[LLVMdev] Weird msan problem
How is ccall() implemented? If it manually sets up a stack frame, then
it also needs to store argument shadow values in paramtls.
I don't think there is an overflow, unless you have a _lot_ of
arguments in a function call.
On Sun, Feb 2, 2014 at 9:26 AM, Keno Fischer
<kfischer at college.harvard.edu> wrote:
> Also, I was looking at the instrumented LLVM code and I noticed that the
2014 Feb 03
2
[LLVMdev] Weird msan problem
The code for ccall looks right. Sounds like you have a very small
range of instructions where an uninitialized value appear. You could
try debugging at asm level. Shadow for b should be passed at offset 0
in __msan_param_tls.
MSan could propagate shadow through arithmetic and even some logic
operations (like select). It could be that b is clean on function
entry, but then something uninitialized
2014 Feb 05
2
[LLVMdev] Weird msan problem
Looks like when you materialize the stores, you should check the size of
the the store and emit an appropriate amount of stores to the origin shadow
(or just a memset intrinsic?).
On Wed, Feb 5, 2014 at 2:13 PM, Keno Fischer
<kfischer at college.harvard.edu>wrote:
> The @entry stuff is just a gdb artifact. I've been tracking this back a
> little further, and it seems there's
2014 Feb 07
2
[LLVMdev] Weird msan problem
Yes, it would be great to get that fixed.
On Wed, Feb 5, 2014 at 4:09 PM, Evgeniy Stepanov
<eugeni.stepanov at gmail.com>wrote:
> On Thu, Feb 6, 2014 at 12:21 AM, Keno Fischer
> <kfischer at college.harvard.edu> wrote:
> > Looks like when you materialize the stores, you should check the size of
> the
> > the store and emit an appropriate amount of stores to the
2013 Nov 21
2
[LLVMdev] Building LLVM with asan
Indeed, removing that flag works fine, the only question is why this is
added in tools/llvm-shlib/Makefile in the first place then and what to do
about it:
ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
# Don't allow unresolved symbols.
LLVMLibsOptions += -Wl,--no-undefined
endif
On Thu, Nov 21, 2013 at 11:53 AM, Alexander Potapenko <glider at
2014 Aug 13
2
[LLVMdev] Advice for setting debug locations
Hello,
I'm trying to fix a long standing issue we are having in Julia where
when the file information switched, we weren't recording that
correctly, so line information showed up in the wrong file. Basically
we would always create a scope with the DISubprogram and the given
line number. What I tried was to change the scope to be a DIFile
instead so we'd get the correct file
2013 Nov 21
0
[LLVMdev] Building LLVM with asan
Actually it only link the shlib fine. Linking any executable against it
fails:
llvm[2]: Linking Release+Asserts executable llvm-lto (without symbols)
/home/kfischer/julia/deps/llvm-svn/build_Release+Asserts/Release+Asserts/bin/clang++
-fsanitize=address -O3 -Wl,-R -Wl,'$ORIGIN/../lib'
-L/home/kfischer/julia/deps/llvm-svn/build_Release+Asserts+Sanitize/Release+Asserts/lib
2013 Nov 21
2
[LLVMdev] Building LLVM with asan
Hello everybody,
after moving from OS X to Linux build llvm with asan enabled (I also
updated to trunk, but not sure if that's related). However, it's totally
possible that I missed a step that I took back when I set this up for me,
so I might be doing something very stupid. Anyway, I'm configuring LLVM with
../configure --prefix=/home/kfischer/julia/usr --build=x86_64-pc-linux-gnu
2014 Aug 13
2
[LLVMdev] Advice for setting debug locations
Sorry, I didn't have a small IR example and I was sure I was just
doing something stupid. Thanks for the help, I'll try it out and
report back. Maybe it would be good to add an assertion or something
that tells people what's wrong in this case, since the generated DWARF
seems to be invalid?
On Wed, Aug 13, 2014 at 5:53 PM, David Blaikie <dblaikie at gmail.com> wrote:
> Use
2014 Aug 13
2
[LLVMdev] Advice for setting debug locations
Oh, I see. Sorry I misunderstood. I'll try to come up with some
minimal IR. The assertion stems from the fact that getCompileUnitDIE()
returns null and then crashes at DWARFUnit.cpp:301. I admit I don't
know if this problem is on the parsing or the generation side.
While I come up with the IR, basically what I was doing was using a
DebugLoc with scope being a DIFile rather than a
2013 Nov 21
2
[LLVMdev] Building LLVM with asan
What I meant to say was that it worked for me on OS X on a slightly older
version of LLVM. Anyway, here's the ld line:
"/usr/bin/ld" -export-dynamic -z relro --hash-style=gnu --build-id
--eh-frame-hdr -m elf_x86_64 -shared -o
/home/kfischer/julia/deps/llvm-svn/build_Release+Asserts+Sanitize/Release+Asserts/lib/
2013 Nov 21
0
[LLVMdev] Building LLVM with asan
On Thu, Nov 21, 2013 at 6:18 AM, Keno Fischer <kfischer at csail.mit.edu> wrote:
> Hello everybody,
>
> after moving from OS X to Linux build llvm with asan enabled
Sorry, I failed to parse this. You're compiling Clang on Linux, and
OSX is unrelated, right?
> (I also updated
> to trunk, but not sure if that's related). However, it's totally possible
> that I
2013 Nov 21
0
[LLVMdev] Building LLVM with asan
Yeah, it's not linking the runtime because you're building a shared
library. This is totally ok. In this case there are undefined __asan_*
symbols that are resolved when an instrumented binary loads your library.
What's wrong here is that some flag passed to ld prevents it from creating
undefined symbols (--no-undefined?). This flag must be removed when
building with ASan.
This
2014 Jun 02
2
[LLVMdev] [lldb-dev] MCJIT Mach-O JIT debugging
We don't currently apply any relocations (that I know of) for debug info in LLDB.
> On Jun 2, 2014, at 12:35 PM, Keno Fischer <kfischer at college.harvard.edu> wrote:
>
> I think I'm getting closer. The debug_info section is being relocated correctly (I think):
>
> 0x00000000: Compile Unit: length = 0x00000045 version = 0x0003 abbr_offset = 0x00000000 addr_size =
2014 Jun 02
2
[LLVMdev] [lldb-dev] MCJIT Mach-O JIT debugging
I didn't get to work on this more last week, but I'll look at incorporating
that suggestion.
The other question of course is how to do this in LLDB. Right, now what I'm
doing is going through and adjusting the load address of every leaf in the
section tree. That basically works and gets me backtraces with the correct
function names and the ability to set breakpoints at functions in
2014 Dec 18
1
[LLVMdev] Metadata/Value split has landed
> On 2014-Dec-18, at 01:43, Keno Fischer <kfischer at college.harvard.edu> wrote:
>
> Hi Duncan,
>
> I'm in the following situation for which this change caused an assertion failure:
>
> Three modules, let's say A B C
> Two function, F in A, G in B
>
> Now I CloneFunction F into B (call the new function F') and inline F' into G.
> Now,
2014 Jul 29
2
[LLVMdev] Reminder: Please switch to MCJIT, as the old JIT will be removed soon.
Hi Keno,
Could you give a short high-level overview of the way Julia works now with
MCJIT instead the JIT:
What I gather so far...
* Compiled IR functions are emitted to a shadow module.
* Any used function is cloned into its own new module and the module is
added to MCJIT.
* Called functions or globalvars are only declared in that module.
* Modules are never removed meaning "old"
2014 May 07
2
[LLVMdev] DWARF unmangled subprog name (DW_AT_name)
On Wed, May 7, 2014 at 11:33 AM, Eric Christopher <echristo at gmail.com>wrote:
> Have you checked out llvm-symbolize? It's what the asan folk
> (including Alexey) have created for backtrace symbolication.
>
Yeah, we potentially can add some kind of option: "llvm-symbolizer
-print-short-function-names", I don't yet see why this would be valuable.
What's wrong