Re: libsanitizer merge from upstream r175042

2013-02-28 Thread Jakub Jelinek
On Thu, Feb 28, 2013 at 04:30:13PM +0400, Konstantin Serebryany wrote: > I am sorry, I missed this message. > Indeed, the change looks safe, > http://llvm.org/viewvc/llvm-project?rev=176250&view=rev Thanks, here is what I've committed to gcc: 2013-02-28 Jakub Jelinek * asan/asan_mappi

Re: libsanitizer merge from upstream r175042

2013-02-28 Thread Konstantin Serebryany
On Fri, Feb 22, 2013 at 8:32 PM, Jakub Jelinek wrote: > On Fri, Feb 15, 2013 at 12:47:30PM +0400, Konstantin Serebryany wrote: >> Sure. ASAN_FIXED_MAPPING should be used for performance measurements >> only -- this is not a release option. >> (Added a more precise comment). > > BTW, today I think

Re: libsanitizer merge from upstream r175042

2013-02-22 Thread Jakub Jelinek
On Fri, Feb 15, 2013 at 12:47:30PM +0400, Konstantin Serebryany wrote: > Sure. ASAN_FIXED_MAPPING should be used for performance measurements > only -- this is not a release option. > (Added a more precise comment). BTW, today I think I've discovered what looks like a prelink bug, but perhaps we n

Re: libsanitizer merge from upstream r175042

2013-02-18 Thread Konstantin Serebryany
On Mon, Feb 18, 2013 at 12:20 PM, Jakub Jelinek wrote: > On Fri, Feb 15, 2013 at 07:39:28AM -0800, Ian Lance Taylor wrote: >> On Thu, Feb 14, 2013 at 11:45 PM, Konstantin Serebryany >> wrote: >> > >> > Unfortunately, the test does not work if gold is the system linker. >> > Any suggestion on how

Re: libsanitizer merge from upstream r175042

2013-02-18 Thread Jakub Jelinek
On Fri, Feb 15, 2013 at 07:39:28AM -0800, Ian Lance Taylor wrote: > On Thu, Feb 14, 2013 at 11:45 PM, Konstantin Serebryany > wrote: > > > > Unfortunately, the test does not work if gold is the system linker. > > Any suggestion on how to make the test work with either linker? > > I don't know of

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Ian Lance Taylor
On Thu, Feb 14, 2013 at 11:45 PM, Konstantin Serebryany wrote: > > Unfortunately, the test does not work if gold is the system linker. > Any suggestion on how to make the test work with either linker? I don't know of a way to set the address of the text segment for both GNU ld and gold. As you h

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Konstantin Serebryany
I've submitted http://llvm.org/viewvc/llvm-project?view=revision&revision=175263 If it survives a few days of testing I'll do another merge to gcc. --kcc On Fri, Feb 15, 2013 at 1:47 PM, Konstantin Serebryany wrote: > On Fri, Feb 15, 2013 at 1:37 PM, Jakub Jelinek wrote: >> On Fri, Feb 15, 2013

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Konstantin Serebryany
On Fri, Feb 15, 2013 at 1:37 PM, Jakub Jelinek wrote: > On Fri, Feb 15, 2013 at 01:30:18PM +0400, Konstantin Serebryany wrote: >> > OT, unrelated thing, in include/asan_interface.h there is one >> > #if __has_feature(address_sanitizer) >> > which for GCC should better be: >> > #if (defined __has_f

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Jakub Jelinek
On Fri, Feb 15, 2013 at 01:30:18PM +0400, Konstantin Serebryany wrote: > > OT, unrelated thing, in include/asan_interface.h there is one > > #if __has_feature(address_sanitizer) > > which for GCC should better be: > > #if (defined __has_feature && __has_feature(address_sanitizer)) \ > > || defi

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Konstantin Serebryany
On Fri, Feb 15, 2013 at 1:05 PM, Jakub Jelinek wrote: > On Fri, Feb 15, 2013 at 12:47:30PM +0400, Konstantin Serebryany wrote: >> This is ungood. >> First, clang doesn't like it at all: >> prelink1.cc:18:18: error: init_priority attribute requires integer >> constant between 101 and 65535 inclusiv

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Jakub Jelinek
On Fri, Feb 15, 2013 at 12:47:30PM +0400, Konstantin Serebryany wrote: > This is ungood. > First, clang doesn't like it at all: > prelink1.cc:18:18: error: init_priority attribute requires integer > constant between 101 and 65535 inclusive > A __attribute__((init_priority (1))) a; For gcc it is ju

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Konstantin Serebryany
Ian, there is a question for you below. On Fri, Feb 15, 2013 at 12:26 PM, Jakub Jelinek wrote: > On Fri, Feb 15, 2013 at 11:45:15AM +0400, Konstantin Serebryany wrote: >> On Thu, Feb 14, 2013 at 4:19 PM, Jakub Jelinek wrote: >> > On Thu, Feb 14, 2013 at 03:55:47PM +0400, Konstantin Serebryany wr

Re: libsanitizer merge from upstream r175042

2013-02-15 Thread Jakub Jelinek
On Fri, Feb 15, 2013 at 11:45:15AM +0400, Konstantin Serebryany wrote: > On Thu, Feb 14, 2013 at 4:19 PM, Jakub Jelinek wrote: > > On Thu, Feb 14, 2013 at 03:55:47PM +0400, Konstantin Serebryany wrote: > >> The patch seems to work on a simple test. Let me digest it. > >> I am trying to understand

Re: libsanitizer merge from upstream r175042

2013-02-14 Thread Konstantin Serebryany
On Thu, Feb 14, 2013 at 4:19 PM, Jakub Jelinek wrote: > On Thu, Feb 14, 2013 at 03:55:47PM +0400, Konstantin Serebryany wrote: >> The patch seems to work on a simple test. Let me digest it. >> I am trying to understand if there are problems with it other than the >> added complexity (which is what

Re: libsanitizer merge from upstream r175042

2013-02-14 Thread Konstantin Serebryany
On Thu, Feb 14, 2013 at 4:19 PM, Jakub Jelinek wrote: > On Thu, Feb 14, 2013 at 03:55:47PM +0400, Konstantin Serebryany wrote: >> The patch seems to work on a simple test. Let me digest it. >> I am trying to understand if there are problems with it other than the >> added complexity (which is what

Re: libsanitizer merge from upstream r175042

2013-02-14 Thread Jakub Jelinek
On Thu, Feb 14, 2013 at 03:55:47PM +0400, Konstantin Serebryany wrote: > The patch seems to work on a simple test. Let me digest it. > I am trying to understand if there are problems with it other than the > added complexity (which is what I don't like the most). Yes, it is some added complexity,

Re: libsanitizer merge from upstream r175042

2013-02-14 Thread Konstantin Serebryany
The patch seems to work on a simple test. Let me digest it. I am trying to understand if there are problems with it other than the added complexity (which is what I don't like the most). -Wl,-Ttext-segment=0x36 does not work with binutils-gold. gold understands -Wl,-Ttext=0x36, but

Re: libsanitizer merge from upstream r175042

2013-02-14 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 04:19:14PM +0100, Jakub Jelinek wrote: > Here is the patch, works just fine for me here during asan.exp testing. > You can very easily either install and enable prelink on one of your > x86_64-linux testing boxes, or just install it and add test that > will say prelink -r 0x

Re: libsanitizer merge from upstream r175042

2013-02-14 Thread Konstantin Serebryany
On Wed, Feb 13, 2013 at 10:29 PM, H.J. Lu wrote: > On Wed, Feb 13, 2013 at 1:19 AM, Konstantin Serebryany > wrote: >> Hi, >> >> The attached patch is the libsanitizer merge from upstream r175042. >> >> Lots of changes. Among other things: >> -

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 11:48:32AM -0500, Jack Howarth wrote: > On Wed, Feb 13, 2013 at 04:19:14PM +0100, Jakub Jelinek wrote: > > > > The reexec is problematic, what if the program already in constructors run > > before __asan_init (perhaps ctors of other libraries etc.) does something > > that r

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread H.J. Lu
On Wed, Feb 13, 2013 at 1:19 AM, Konstantin Serebryany wrote: > Hi, > > The attached patch is the libsanitizer merge from upstream r175042. > > Lots of changes. Among other things: > - x86_64 linux: change the shadow offset to 0x7fff8000 (~5% speedup) > - the new asan al

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jack Howarth
On Wed, Feb 13, 2013 at 04:19:14PM +0100, Jakub Jelinek wrote: > > The reexec is problematic, what if the program already in constructors run > before __asan_init (perhaps ctors of other libraries etc.) does something > that really shouldn't be done twice? > Jakub, Wouldn't sorting all of the

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 05:39:15PM +0400, Konstantin Serebryany wrote: > > No. You can disable it for the whole system (prelink -ua), but that is not > > a sane requirement to running sanitized programs. > > Why not? > :) Because that is a fully system operation, requires root access, etc. The f

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jack Howarth
On Wed, Feb 13, 2013 at 11:32:00AM +0100, Jakub Jelinek wrote: > On Wed, Feb 13, 2013 at 02:28:25PM +0400, Konstantin Serebryany wrote: > > Right. In LLVM we test only with ASAN_FLEXIBLE_MAPPING_AND_OFFSET==1, > > so this came unnoticed. > > Fixed in r175049. > ... > > This is ok, thanks. > >

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Konstantin Serebryany
On Wed, Feb 13, 2013 at 5:07 PM, Jakub Jelinek wrote: > On Wed, Feb 13, 2013 at 04:57:30PM +0400, Konstantin Serebryany wrote: >> On Wed, Feb 13, 2013 at 4:48 PM, Jakub Jelinek wrote: >> > On Wed, Feb 13, 2013 at 04:32:33PM +0400, Konstantin Serebryany wrote: >> >> > Unfortunately, it seems every

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 02:27:56PM +0100, Richard Biener wrote: > ASAN could set an ELF flag on the executable to tell the kernel not > to use prelinked objects? That is, similar to how we handle executable > stacks? But we don't have such a flag right now, and what should old kernels that don't

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Richard Biener
On Wed, Feb 13, 2013 at 2:07 PM, Jakub Jelinek wrote: > On Wed, Feb 13, 2013 at 04:57:30PM +0400, Konstantin Serebryany wrote: >> On Wed, Feb 13, 2013 at 4:48 PM, Jakub Jelinek wrote: >> > On Wed, Feb 13, 2013 at 04:32:33PM +0400, Konstantin Serebryany wrote: >> >> > Unfortunately, it seems every

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 04:57:30PM +0400, Konstantin Serebryany wrote: > On Wed, Feb 13, 2013 at 4:48 PM, Jakub Jelinek wrote: > > On Wed, Feb 13, 2013 at 04:32:33PM +0400, Konstantin Serebryany wrote: > >> > Unfortunately, it seems everything fails with that change :( on Linux. > >> > The problem

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Konstantin Serebryany
On Wed, Feb 13, 2013 at 4:48 PM, Jakub Jelinek wrote: > On Wed, Feb 13, 2013 at 04:32:33PM +0400, Konstantin Serebryany wrote: >> > Unfortunately, it seems everything fails with that change :( on Linux. >> > The problem is that the default prelink library range for x86_64 is >> > 0x30LL to

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 04:32:33PM +0400, Konstantin Serebryany wrote: > > Unfortunately, it seems everything fails with that change :( on Linux. > > The problem is that the default prelink library range for x86_64 is > > 0x30LL to 0x40LL, and that unfortunately overlaps > > Forgiv

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Konstantin Serebryany
On Wed, Feb 13, 2013 at 3:59 PM, Jakub Jelinek wrote: > On Wed, Feb 13, 2013 at 11:32:00AM +0100, Jakub Jelinek wrote: >> On Wed, Feb 13, 2013 at 02:28:25PM +0400, Konstantin Serebryany wrote: >> > Right. In LLVM we test only with ASAN_FLEXIBLE_MAPPING_AND_OFFSET==1, >> > so this came unnoticed. >

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 11:32:00AM +0100, Jakub Jelinek wrote: > On Wed, Feb 13, 2013 at 02:28:25PM +0400, Konstantin Serebryany wrote: > > Right. In LLVM we test only with ASAN_FLEXIBLE_MAPPING_AND_OFFSET==1, > > so this came unnoticed. > > Fixed in r175049. > ... > > This is ok, thanks. Unfortu

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 02:28:25PM +0400, Konstantin Serebryany wrote: > Right. In LLVM we test only with ASAN_FLEXIBLE_MAPPING_AND_OFFSET==1, > so this came unnoticed. > Fixed in r175049. ... This is ok, thanks. Jakub

Re: libsanitizer merge from upstream r175042

2013-02-13 Thread Jakub Jelinek
On Wed, Feb 13, 2013 at 01:19:47PM +0400, Konstantin Serebryany wrote: > The attached patch is the libsanitizer merge from upstream r175042. > > Lots of changes. Among other things: > - x86_64 linux: change the shadow offset to 0x7fff8000 (~5% speedup) > - the new asan allocato