227 Commits
Author SHA1 Message Date
andrew 2a52162d7f Add stack chk symbols to aarch64 imports 2026-06-14 20:47:28 -04:00
andrew e8f51eff53 Guard --nobranchprotection behind a version check
Older versions of hardening-check (as shipped by some Ubuntu releases)
don't support --nobranchprotection and error out. Probe --help at
configure time and only add the flag when it's available; old versions
that lack the flag also don't check for branch protection, so omitting
it is safe.
2026-06-14 20:34:29 -04:00
andrew 9ea798dba4 Fix aarch64 multi-byte UTF-8 parsing and add symbol imports file
On aarch64, char is unsigned by default, so *buf < 0x20 never held for
bytes >= 0x80, causing strDfa.scan to be skipped for multi-byte UTF-8
sequences in batch mode. Cast to int8_t to get the same signed comparison
used by the SIMD path.

Also add aarch64-symbol-imports.txt with the GLIBC 2.17 versioned symbols
imported by the library on that platform.
2026-06-14 19:42:41 -04:00
andrew 12c976a62c Fix make build by depending on target name instead of TARGET_OBJECTS in custom command
The Makefile generator does not create a rule for individual object files
when $<TARGET_OBJECTS:...> is used in DEPENDS of add_custom_command. Depending
on the target name instead establishes a proper target-level dependency.
2026-06-14 19:28:47 -04:00
andrew b079b293f7 Include <cstdlib> for malloc and free in lib.cpp 2026-06-14 19:22:32 -04:00
andrew d48fe618ac Add CI 2026-06-14 19:18:31 -04:00
andrew 470564a5df Improve coverage 2026-06-14 18:03:30 -04:00
andrew b9142bf36a Avoid some unnecessary string destruction in bench 2026-06-14 17:53:29 -04:00
andrew 97f1d3d352 Skip string and go directly to string2 from object3 2026-06-14 17:16:45 -04:00
andrew d8c9491eb3 Add fuzz test that finds previously missed coverage 2026-06-14 16:50:36 -04:00
andrew b4144298bb Update doctest.h to 2.5.2 2026-06-14 16:35:53 -04:00
andrew b894ae7a80 Fix arch-specific hardening_check ignore flags
hardening-check tests both CET (x86-only) and branch protection
(arm64-only). Pass the ignore flag for whichever doesn't apply to the
build arch so the test passes on all supported architectures.
2026-06-14 16:31:08 -04:00
andrew eb9925ffec Only pass -pie when linking executables
Passing -pie globally made the driver link Scrt1.o into shared
libraries, which fails with an undefined reference to main.
2026-06-14 16:20:48 -04:00
andrew 995ddf329f Fixes for gcc 15 2025-11-06 12:49:38 -05:00
andrew 5fc823b392 This didn't belong here and isn't really necessary 2025-08-25 16:50:43 -04:00
andrew 490b49e55d Remove redundancy 2025-08-25 16:49:21 -04:00
andrew 6fc263074e Simplify flowchart 2025-08-25 16:46:46 -04:00
andrew befb464619 More README tinkers 2025-08-25 16:39:01 -04:00
andrew f2bb72b3dc More clarifications in README 2025-08-25 16:19:34 -04:00
andrew 81814fa590 Simplify flow chart 2025-08-25 16:00:58 -04:00
andrew 611bccfb9b Update README 2025-08-25 15:57:07 -04:00
andrew e8d2855b36 Add maintainer notice 2025-08-25 15:43:37 -04:00
andrew 1f540a436a Tailor readme to prospective users 2025-08-25 15:34:29 -04:00
andrew c303478ad7 Avoid Utf8Dfa scan if there's no non-ascii 2025-08-15 19:45:00 -04:00
andrew 0b24636c4f Update corpus 2025-08-04 14:42:50 -04:00
andrew bcb5a20f27 Distinguish on_string_data and on_key_data 2025-08-04 14:15:49 -04:00
andrew 39fe9be4dc Clarify header comments 2025-08-04 12:44:00 -04:00
andrew 7801dbe6d7 Add missing files 2025-08-04 12:43:45 -04:00
andrew 0ed07e454a Merge remote-tracking branch 'origin/flags' 2025-08-04 12:36:20 -04:00
andrew 18a66009e1 Clarify memory usage comment in readme 2025-08-04 12:35:48 -04:00
andrew 6e244d1318 Add packaging and symbol visibility tests
Only tested on x86 linux so far
2025-08-04 12:35:26 -04:00
andrew 9e4f90f218 Add WeaselJsonRaw flag 2025-06-25 18:44:37 -04:00
andrew 3e72181bee Add flags argument to WeaselJsonParser_create 2025-06-25 16:44:31 -04:00
andrew 01d81981f7 Fix arm build 2025-06-25 11:55:19 -04:00
andrew 89211753e2 Add to corpus 2025-06-24 15:58:58 -04:00
andrew 2e803b5a76 Fix bogus assert. 0x10ffff is a valid code point 2025-06-24 15:48:16 -04:00
andrew a8aab0187e Add some comments 2025-06-24 15:10:01 -04:00
andrew 63a1be497b Remove unused table
It was making it into the shared object somehow
2025-06-24 15:09:21 -04:00
andrew 7470c69845 Ignore error in some places where push can't fail 2025-06-24 14:57:27 -04:00
andrew c2f5d6983a Store stackEnd instead of stackSize 2025-06-24 14:57:11 -04:00
andrew 575b6e5c62 Direct call to next continuation in some cases 2025-06-24 14:46:20 -04:00
andrew 67e63dc611 Multiply stackSize by sizeof stack element 2025-06-24 13:33:39 -04:00
andrew 9319076b44 Remove Parser3::complete 2025-06-24 13:15:39 -04:00
andrew d1de15a0ca Don't flush strings from keepGoing 2025-06-24 13:02:54 -04:00
andrew dfce1ae412 Buf fix: Check for empty before resuming n_string2 2025-06-24 12:43:01 -04:00
andrew 5e3fa62a06 Remove acceptsEmptyString table 2025-06-24 12:19:31 -04:00
andrew 330101a937 Handle unescaping directly in n_string2 if space permits 2025-06-24 10:43:40 -04:00
andrew 9803364adb Use table for hex values 2025-06-23 21:52:17 -04:00
andrew 2299904557 Compare dfa and simdjson::validate_utf8 2025-06-23 14:29:49 -04:00
andrew 578e507b96 Remove .clang-format 2025-06-23 14:29:40 -04:00