As a temporary fix, you can replace this line in sanitizer_linux_libcdep.c: const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1216, 2304); with const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1168, 2304); The tests should pass after that. I need to figure out which ifdefs to put this under, so I might not be able to land the fix until Monday. On Fri, May 31, 2013 at 8:48 PM, Greg Fitzgerald <garious at gmail.com> wrote:> > What version of glibc are you building with on x86? > > 2.11.1 for 64-bit x86 linux > > $ ldd --version > ldd (Ubuntu EGLIBC 2.11.1-0ubuntu7.8) 2.11.1 > > On Fri, May 31, 2013 at 8:24 AM, Sergey Matveev <earthdok at google.com> > wrote: > > Those changes shouldn't affect ARM at all, since everything is under #if > > defined(__i386__) || defined(__x86_64__). > > > > What version of glibc are you building with on x86? > > > > > > On Fri, May 31, 2013 at 7:16 PM, Greg Fitzgerald <garious at gmail.com> > wrote: > >> > >> The failures happen on x86 Linux, Ubuntu Lucid. On ARM Android, my > >> example code segfaults, whereas before it worked. I wasn't planning to > >> debug that though since there are unit test failures on x86 Linux. > >> > >> Greg > >> > >> On May 31, 2013, at 2:37 AM, Sergey Matveev <earthdok at google.com> > wrote: > >> > >> I'm confused - do those test failures happen on x86 Android? > >> > >> > >> On Fri, May 31, 2013 at 10:48 AM, Sergey Matveev <earthdok at google.com> > >> wrote: > >>> > >>> r182853 introduced an assumption about the size of thread descriptor in > >>> glibc. On your system it's 48 bytes off, which is why the tests fail. > What > >>> version of libc are you using? > >>> > >>> (Repeating - my previous message got stuck in the moderation queue > >>> because the quoted text was too long.) > >> > >> > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130531/9e033673/attachment.html>
> const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1168, 2304);Yes, that change causes all tests to pass.> I need to figure out which ifdefs to put this under, so I might not be able to land the fix until Monday.Okay, no worries, thanks for doing this. I've moved over to release_33 for the short-term. With the one change mentioned earlier (#include <stdint.h>), asan is working well for me when targeting either X86 Linux or ARM Android. -Greg On Fri, May 31, 2013 at 11:50 AM, Sergey Matveev <earthdok at google.com> wrote:> As a temporary fix, you can replace this line in sanitizer_linux_libcdep.c: > > const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1216, 2304); > > with > > const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1168, 2304); > > The tests should pass after that. I need to figure out which ifdefs to put > this under, so I might not be able to land the fix until Monday. > > > On Fri, May 31, 2013 at 8:48 PM, Greg Fitzgerald <garious at gmail.com> wrote: >> >> > What version of glibc are you building with on x86? >> >> 2.11.1 for 64-bit x86 linux >> >> $ ldd --version >> ldd (Ubuntu EGLIBC 2.11.1-0ubuntu7.8) 2.11.1 >> >> On Fri, May 31, 2013 at 8:24 AM, Sergey Matveev <earthdok at google.com> >> wrote: >> > Those changes shouldn't affect ARM at all, since everything is under #if >> > defined(__i386__) || defined(__x86_64__). >> > >> > What version of glibc are you building with on x86? >> > >> > >> > On Fri, May 31, 2013 at 7:16 PM, Greg Fitzgerald <garious at gmail.com> >> > wrote: >> >> >> >> The failures happen on x86 Linux, Ubuntu Lucid. On ARM Android, my >> >> example code segfaults, whereas before it worked. I wasn't planning to >> >> debug that though since there are unit test failures on x86 Linux. >> >> >> >> Greg >> >> >> >> On May 31, 2013, at 2:37 AM, Sergey Matveev <earthdok at google.com> >> >> wrote: >> >> >> >> I'm confused - do those test failures happen on x86 Android? >> >> >> >> >> >> On Fri, May 31, 2013 at 10:48 AM, Sergey Matveev <earthdok at google.com> >> >> wrote: >> >>> >> >>> r182853 introduced an assumption about the size of thread descriptor >> >>> in >> >>> glibc. On your system it's 48 bytes off, which is why the tests fail. >> >>> What >> >>> version of libc are you using? >> >>> >> >>> (Repeating - my previous message got stuck in the moderation queue >> >>> because the quoted text was too long.) >> >> >> >> >> > > >
r183098 should fix this. Do you run both 32-bit and 64-bit tests? I.e., is 2304 still correct for 64 bit? On Sat, Jun 1, 2013 at 3:10 AM, Greg Fitzgerald <garious at gmail.com> wrote:> > const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1168, 2304); > > Yes, that change causes all tests to pass. > > > > I need to figure out which ifdefs to put this under, so I might not be > able to land the fix until Monday. > > Okay, no worries, thanks for doing this. I've moved over to > release_33 for the short-term. With the one change mentioned earlier > (#include <stdint.h>), asan is working well for me when targeting > either X86 Linux or ARM Android. > > -Greg > > On Fri, May 31, 2013 at 11:50 AM, Sergey Matveev <earthdok at google.com> > wrote: > > As a temporary fix, you can replace this line in > sanitizer_linux_libcdep.c: > > > > const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1216, 2304); > > > > with > > > > const uptr kThreadDescriptorSize = FIRST_32_SECOND_64(1168, 2304); > > > > The tests should pass after that. I need to figure out which ifdefs to > put > > this under, so I might not be able to land the fix until Monday. > > > > > > On Fri, May 31, 2013 at 8:48 PM, Greg Fitzgerald <garious at gmail.com> > wrote: > >> > >> > What version of glibc are you building with on x86? > >> > >> 2.11.1 for 64-bit x86 linux > >> > >> $ ldd --version > >> ldd (Ubuntu EGLIBC 2.11.1-0ubuntu7.8) 2.11.1 > >> > >> On Fri, May 31, 2013 at 8:24 AM, Sergey Matveev <earthdok at google.com> > >> wrote: > >> > Those changes shouldn't affect ARM at all, since everything is under > #if > >> > defined(__i386__) || defined(__x86_64__). > >> > > >> > What version of glibc are you building with on x86? > >> > > >> > > >> > On Fri, May 31, 2013 at 7:16 PM, Greg Fitzgerald <garious at gmail.com> > >> > wrote: > >> >> > >> >> The failures happen on x86 Linux, Ubuntu Lucid. On ARM Android, my > >> >> example code segfaults, whereas before it worked. I wasn't planning > to > >> >> debug that though since there are unit test failures on x86 Linux. > >> >> > >> >> Greg > >> >> > >> >> On May 31, 2013, at 2:37 AM, Sergey Matveev <earthdok at google.com> > >> >> wrote: > >> >> > >> >> I'm confused - do those test failures happen on x86 Android? > >> >> > >> >> > >> >> On Fri, May 31, 2013 at 10:48 AM, Sergey Matveev < > earthdok at google.com> > >> >> wrote: > >> >>> > >> >>> r182853 introduced an assumption about the size of thread descriptor > >> >>> in > >> >>> glibc. On your system it's 48 bytes off, which is why the tests > fail. > >> >>> What > >> >>> version of libc are you using? > >> >>> > >> >>> (Repeating - my previous message got stuck in the moderation queue > >> >>> because the quoted text was too long.) > >> >> > >> >> > >> > > > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130603/7b1d528a/attachment.html>