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