OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//testing/libfuzzer/fuzzer_test.gni") | 5 import("//testing/libfuzzer/fuzzer_test.gni") |
6 | 6 |
7 declare_args() { | 7 declare_args() { |
8 # Controls whether the build should uses the version of sqlite3 library | 8 # Controls whether the build should uses the version of sqlite3 library |
9 # shipped with the system (currently only supported on iOS) or the one | 9 # shipped with the system (currently only supported on iOS) or the one |
10 # shipped with Chromium source. | 10 # shipped with Chromium source. |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 "SQLITE_DISABLE_FTS4_DEFERRED", | 56 "SQLITE_DISABLE_FTS4_DEFERRED", |
57 "SQLITE_ENABLE_ICU", | 57 "SQLITE_ENABLE_ICU", |
58 "SQLITE_ENABLE_MEMORY_MANAGEMENT", | 58 "SQLITE_ENABLE_MEMORY_MANAGEMENT", |
59 "SQLITE_SECURE_DELETE", | 59 "SQLITE_SECURE_DELETE", |
60 | 60 |
61 # Custom flag to tweak pcache pools. | 61 # Custom flag to tweak pcache pools. |
62 # TODO(shess): This shouldn't use faux-SQLite naming. | 62 # TODO(shess): This shouldn't use faux-SQLite naming. |
63 "SQLITE_SEPARATE_CACHE_POOLS", | 63 "SQLITE_SEPARATE_CACHE_POOLS", |
64 | 64 |
65 # TODO(shess): SQLite adds mutexes to protect structures which cross | 65 # TODO(shess): SQLite adds mutexes to protect structures which cross |
66 # threads. In theory Chromium should be able to turn this off for a | 66 # threads. In theory Chromium should be able to turn this to "2" which |
67 # slight speed boost. | 67 # should give a slight speed boost. "2" is safe as long as a single |
68 "THREADSAFE", | 68 # connection is not used by more than one thread at a time. |
| 69 "SQLITE_THREADSAFE=1", |
69 | 70 |
70 # SQLite can spawn threads to sort in parallel if configured | 71 # SQLite can spawn threads to sort in parallel if configured |
71 # appropriately. Chromium doesn't configure SQLite for that, and would | 72 # appropriately. Chromium doesn't configure SQLite for that, and would |
72 # prefer to control distribution to worker threads. | 73 # prefer to control distribution to worker threads. |
73 "SQLITE_MAX_WORKER_THREADS=0", | 74 "SQLITE_MAX_WORKER_THREADS=0", |
74 | 75 |
75 # Allow 256MB mmap footprint per connection. Should not be too open-ended | 76 # Allow 256MB mmap footprint per connection. Should not be too open-ended |
76 # as that could cause memory fragmentation. 50MB encompasses the 99th | 77 # as that could cause memory fragmentation. 50MB encompasses the 99th |
77 # percentile of Chrome databases in the wild. | 78 # percentile of Chrome databases in the wild. |
78 # TODO(shess): A 64-bit-specific value could be 1G or more. | 79 # TODO(shess): A 64-bit-specific value could be 1G or more. |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 fuzzer_test("sqlite3_ossfuzz_fuzzer") { | 291 fuzzer_test("sqlite3_ossfuzz_fuzzer") { |
291 # TODO(mmoroz, shess): remove fuzz/ossfuzz.c after next sqlite3 update. | 292 # TODO(mmoroz, shess): remove fuzz/ossfuzz.c after next sqlite3 update. |
292 sources = [ | 293 sources = [ |
293 "fuzz/ossfuzz.c", | 294 "fuzz/ossfuzz.c", |
294 ] | 295 ] |
295 deps = [ | 296 deps = [ |
296 ":sqlite", | 297 ":sqlite", |
297 ] | 298 ] |
298 dict = "fuzz/sql.dict" | 299 dict = "fuzz/sql.dict" |
299 } | 300 } |
OLD | NEW |