[cfe-commits] [patch] UBSAN darwin support
Alexey Samsonov
samsonov at google.com
Fri Nov 2 08:24:27 PDT 2012
On Wed, Oct 31, 2012 at 12:38 AM, Richard Smith <richard at metafoo.co.uk>
wrote:
> This LGTM for the short term, but I'd like someone with more
> familiarity with the sanitizer_common pieces to look over it too (see
> attached ubsan.patch).
>
>
> Slightly longer-term, we should move away from using fprintf and over
> to sanitizer_common's Printf implementation. There are four format
> specifiers which ubsan uses which Printf doesn't yet provide:
>
> %08x
> %lld
> %llu
> %Lg
>
> The attached patch implements the first three and ports ubsan over to
> using sanitizer_common's Printf. Two more things need doing before we
> can switch to this:
>
> 1) Implement Printf support for formatting of long double
> 2) Move the 'isatty' check into sanitizer_common, so it can do the
> right platform-specific magic and can respect calls to
> __sanitizer_set_report_path
>
I've moved unit test for Printf to sanitizer_common/tests/
and added PrintsToTty() function which respects current report file to
sanitizer_common.h
> Once those are done, ubsan won't need to include any system headers
> any more. Seem reasonable?
>
Sure. The patch looks fine too.
@@ -23,7 +26,10 @@
endif()
if(CAN_TARGET_I386)
- add_library(clang_rt.ubsan-i386 STATIC ${UBSAN_SOURCES})
+ add_library(clang_rt.ubsan-i386 STATIC
+ ${UBSAN_SOURCES}
+ $<TARGET_OBJECTS:RTSanitizerCommon.x86_64>
RTSanitizerCommon.i386
+ )
set_target_compile_flags(clang_rt.ubsan-i386
${UBSAN_CFLAGS} ${TARGET_I386_CFLAGS}
>
> On Tue, Oct 30, 2012 at 10:22 AM, Jean-Daniel Dupas
> <devlists at shadowlab.org> wrote:
> > Ping
> >
> > Le 22 oct. 2012 à 12:51, Jean-Daniel Dupas <devlists at shadowlab.org> a
> écrit :
> >
> >> Thanks.
> >>
> >> Look like you forget to "svn add" the new Makefile and unistd.h though.
> >>
> >> Here is a rebased svn patch that include these files.
> >>
> >> Le 22 oct. 2012 à 12:31, Jonathan Sauer <jonathan.sauer at gmx.de> a
> écrit :
> >>
> >>> Hello,
> >>>
> >>> I applied the patch to compiler-rt r166410 (darwin-ubsan.patch did not
> apply cleanly, most likely due
> >>> to changes made in the meantime), and compiler-rt compiles
> successfully as part of LLVM (i.e. as
> >>> described at <http://clang.llvm.org/get_started.html>) on OS X 10.6.
> I rebased your patches to r166410
> >>> and attached the new one (made from svn instead of git, though).
> >>>
> >>>
> >>> Jonathan
> >>>
> >>> <ubsan.diff>
> >>>
> >>> _______________________________________________
> >>> cfe-commits mailing list
> >>> cfe-commits at cs.uiuc.edu
> >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >>
> >> -- Jean-Daniel
> >>
> >>
> >>
> >> <ubsan.diff>_______________________________________________
> >> cfe-commits mailing list
> >> cfe-commits at cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
> > -- Jean-Daniel
> >
> >
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
--
Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20121102/a4394351/attachment.html>
More information about the cfe-commits
mailing list