Compare Revisions

Building SpiderMonkey with UBSan

Change Revisions

Revision 442967:

Revision 442967 by Jesse on

Revision 442971:

Revision 442971 by Jesse on

Title:
Building SpiderMonkey with UBSan
Building SpiderMonkey with UBSan
Slug:
Building_SpiderMonkey_with_UBSan
Building_SpiderMonkey_with_UBSan
Content:

Revision 442967
Revision 442971
nn22    autoconf213
n25    SANFLAG="<strong>-fsanitize=alignment,bool,bounds,enum,float-n26    SANFLAG="<strong>-fsanitize=undefined -fno-sanitize=alignment
>cast-overflow,integer-divide-by-zero,null,object-size,return,shif>,float-divide-by-zero,vptr</strong> -Dxmalloc=myxmalloc" \
>t,signed-integer-overflow,unreachable,vla-bound</strong> -Dxmallo 
>c=myxmalloc" \ 
n39      The <strong><a href="http://clang.llvm.org/docs/UsersManualn40      This enables all the <strong><a href="http://clang.llvm.org
>.html#controlling-code-generation" title="http://clang.llvm.org/d>/docs/UsersManual.html#controlling-code-generation" title="http:/
>ocs/UsersManual.html#controlling-code-generation">sanitize option>/clang.llvm.org/docs/UsersManual.html#controlling-code-generation
>s</a></strong> chosen above are all of the cheap undefined behavi>">cheap undefined behavior checks</a></strong> other than:
>or checks other than: 
n43        <strong>vptr</strong>, which requires RTTI, disabled by dn44        <strong>alignment</strong>, which hits known bugs in Spid
>efault in SpiderMonkey>erMonkey, and is more implementation-defined (slow on x86 / crash
 > on ARM) than undefined behavior
t46        <strong>float-divide-by-zero</strong>, which Jesse doesn't47        <strong>float-divide-by-zero</strong>, which Jesse doesn'
>t think is actually undefined behavior>t think is actually undefined behavior (aside from the question o
 >f whether CPU overflow flags are set)
48      </li>
49      <li>
50        <strong>vptr</strong>, a check that requires RTTI, which 
 >is disabled by default in SpiderMonkey

Back to History