skia2/tools
Mike Klein 475c5e93fe turn on alignment sanitizer
This sanitizer checks for overaligned reads and writes,
or put another way, use of underaligned pointers.

This usually happens when you cast, e.g. char* to int*
without checking that the char* is 4-byte aligned.  Each
of the changes under src/ fixes something just like that.

The unusual setup for tools/xsan.blacklist is there to
force a rebuild whenever tools/xsan.blacklist changes.
I spent a good few minutes debugging rebuilds not happening
this morning, perhaps from some strange ccache interaction.

Align SkTextBlobs as void* (today they're just 4-byte) so the
SkTextBlob::RunRecords we put after them in SkTextBlobBuilder
buffers are properly aligned (for the SkTypeface* inside).

There's no obvious error in void SkRRect::computeType(),
but one bot seems to have seen some sort of issue with

    SK_AT_SCOPE_EXIT(SkASSERT(this->isValid()));

I can't reproduce it locally, so I'm just going to unroll it.

Change-Id: I904d94f65f695e1b626b684c32216a4930b72b0c
Reviewed-on: https://skia-review.googlesource.com/146104
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-09 21:13:15 +00:00
..
android Reuse more upload_to_android and allow removing flag on Android 2017-10-31 14:37:14 +00:00
bookmaker add more fiddle hash checks 2018-07-18 19:42:52 +00:00
calmbench Add name field to calmbench json 2018-05-03 15:18:02 +00:00
copyright Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
debugger Remove picture_utils 2018-08-09 14:14:17 +00:00
fiddle Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
flags migrating SkTDArray towards std::vector api 2018-08-08 15:51:44 +00:00
fonts SkUTF 2018-07-31 20:11:19 +00:00
gdb Update gdb bitmap viewer. 2018-06-20 21:24:27 +00:00
gpu Update vulkan features (again) to support extension features. 2018-08-08 13:48:38 +00:00
lottiecap [lottiecap] Fix timestamp calculation to exactly match skottie in DM. 2018-03-20 21:02:57 +00:00
lua Remove picture_utils 2018-08-09 14:14:17 +00:00
mdbviz Remove carriage returns. 2017-10-09 20:41:14 +00:00
rebaseline Change add to toggle in the comments 2017-11-10 17:19:07 +00:00
sk_app Viewer to resize Samples with window resize. 2018-08-09 21:03:11 +00:00
skdiff migrating SkTDArray towards std::vector api 2018-08-08 15:51:44 +00:00
skiaserve Remove picture_utils 2018-08-09 14:14:17 +00:00
skp Omit "espn" from key_mobile_sites_smooth in RecreateSKPs bot 2018-05-20 14:53:16 +00:00
skpbench Remove picture_utils 2018-08-09 14:14:17 +00:00
skqp sk_tool::Registry: make an iterator. 2018-08-01 16:59:19 +00:00
svg Remove internal files from externally visible markdown documentation 2018-01-10 13:25:19 +00:00
timer Move Views into Sample and Viewer. 2018-08-09 15:25:32 +00:00
trace Optimize the size of our JSON 2017-08-17 11:51:26 +00:00
viewer Viewer to resize Samples with window resize. 2018-08-09 21:03:11 +00:00
__init__.py
add_codereview_message.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
AndroidSkDebugToStdOut.cpp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
BigPathBench.inc Factor out VisualBench timing code into a helper class 2015-10-05 07:23:30 -07:00
bisect_roll Add bisect_roll tool 2018-01-11 19:42:55 +00:00
bisect_roll.bat Add bisect_roll tool 2018-01-11 19:42:55 +00:00
bisect_roll.go Add bisect_roll tool 2018-01-11 19:42:55 +00:00
build_command_buffer.py Improvements to build_command_buffer.py 2016-11-04 10:54:54 -07:00
BUILD_simulator.py Fix Google3 fonts. Use fontconfig rather than custom_directory_factory. Add Google3 font caching. 2015-12-01 11:12:05 -08:00
build_workaround_header.py Add CheckGeneratedFiles recipe check for gpu workarounds 2018-04-25 19:26:27 +00:00
check-headers-self-sufficient C++14 2018-06-04 13:22:49 +00:00
chrome_fuzz.cpp Fix SkFILEStream. 2017-03-10 19:58:46 +00:00
compare_codereview.py
CrashHandler.cpp GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
CrashHandler.h rewrite ambiguous comment 2015-02-10 07:47:31 -08:00
DDLPromiseImageHelper.cpp implemented getting format from texture as virtual in gpu caps 2018-06-28 20:21:17 +00:00
DDLPromiseImageHelper.h implemented getting format from texture as virtual in gpu caps 2018-06-28 20:21:17 +00:00
DDLTileHelper.cpp Pull non-substantive changes out of omnibus CL 2018-06-13 18:07:58 +00:00
DDLTileHelper.h Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
doxygen_footer.txt
dump_record.cpp clean up SkDeferredCanvas 2017-11-27 21:31:26 +00:00
DumpRecord.cpp clean up SkPicture include 2018-06-12 13:56:33 +00:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
embed_resources.py Add option to embed font data into executable. 2015-03-30 12:53:48 -07:00
find_run_binary.py
fix_pythonpath.py Use new common tools in Python scripts 2014-06-25 11:13:27 -04:00
gcov_shim
get_current_monitor_profile.cpp Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
get_images_from_skps.cpp Use SkJSONWriter for get_images_from_skps stats reporting 2018-06-19 20:06:36 +00:00
git-sync-deps tools/git-sync-deps: fix 2018-06-20 14:38:34 +00:00
gyp GN 2016-06-23 10:29:30 -07:00
hello-opencl.cpp add hello-opencl 2018-06-20 21:50:47 +00:00
imgblur.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
imgcvt.cpp add imgcvt 2018-07-27 15:11:17 +00:00
imgslice.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
install_dependencies.sh Add header file installation tips for building skia 2018-02-14 13:07:27 +00:00
ios_utils.h Fix bugs with fence sync API on iOS devices 2017-10-10 19:05:13 +00:00
ios_utils.m iOS: cd into Documents folder at startup 2017-02-06 15:06:45 +00:00
jsondiff.py Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
list_gms.cpp sk_tool::Registry: make an iterator. 2018-08-01 16:59:19 +00:00
list_gpu_unit_tests.cpp sk_tool::Registry: make an iterator. 2018-08-01 16:59:19 +00:00
LsanSuppressions.cpp Test GrContextOptions persistent cache on linux/quadrop400 bots. 2018-07-16 19:09:19 +00:00
merge_static_libs.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
milestone.py SkPDF: milestone in metadata, also SkMilestone.h 2016-03-29 09:09:29 -07:00
mirror-dev.sh Update mirror-dev for *-dev:amd64 packages. 2017-11-09 22:44:57 +00:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
OverwriteLine.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
parse_llvm_coverage.py Walk through files in parse_llvm_coverage.py instead of using 'git ls-files' 2016-04-18 04:18:56 -07:00
pathops_sorter.htm handle degenerate cubic loops 2018-02-02 20:39:09 +00:00
pathops_visualizer.htm fix pathops stitching bug 2018-08-06 21:50:43 +00:00
ProcStats.cpp eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
ProcStats.h DM+nanobench: print both current and max RSS. 2015-04-30 07:11:22 -07:00
public_headers_warnings_check.cpp GN: add public headers warnings check. 2016-11-16 19:27:29 +00:00
random_parse_path.cpp Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
random_parse_path.h Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
reformat-json.py
Registry.h sk_tool::Registry: make an iterator. 2018-08-01 16:59:19 +00:00
remote_demo.cpp fonts: Reland push font remoting. 2018-05-02 18:39:31 +00:00
ResourceFactory.h SkQP: ResourceFactory 2018-01-29 21:23:33 +00:00
Resources.cpp sk_tools/Resources: optional SK_TOOLS_REQUIRE_RESOURCES flag 2018-04-24 18:08:06 +00:00
Resources.h Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
sanitize_source_files.py Clean up more references to GYP. 2017-02-06 17:55:35 +00:00
sk_pixel_iter.h handle clipping large triangles 2018-01-30 15:56:35 +00:00
sk_tool_utils.cpp Restore SkLightingShader and associated classes 2018-07-17 17:24:50 +00:00
sk_tool_utils.h Restore SkLightingShader and associated classes 2018-07-17 17:24:50 +00:00
skhello.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
SkJSONCPP.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
skp_parser.cpp Remove code that was only used by the old debugger 2018-04-09 13:30:54 +00:00
skpinfo.cpp Revert "Revert "SkTypes: extract SkTo"" 2018-06-14 14:55:17 +00:00
skpmaker.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
Stats.h Consolidate SK_CRASH and sk_throw into SK_ABORT 2016-01-29 08:51:04 -08:00
test_all.py skimage, die die die 2014-12-15 12:47:52 -08:00
test_pdfs.py
UrlDataManager.cpp Create image cache for use by json canvas 2016-02-08 07:08:21 -08:00
UrlDataManager.h Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
using_skia_and_harfbuzz.cpp Make SkShaper a module 2018-05-30 04:04:07 +00:00
valgrind.supp Add valgrind suppression for leak in libGLX_nvidia when caching program binaries 2018-07-18 16:43:51 +00:00
whitelist_typefaces.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
win_dbghelp.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
win_dbghelp.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
win_lcid.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
xsan.blacklist turn on alignment sanitizer 2018-08-09 21:13:15 +00:00