|
|
C bindings: Implement _Validate(), and some pre-requisites
This patchset passes the conformance & bounds checking validation tests,
the same ones that the C++ version goes through.
Pre-req to accomodate getting validation to work:
- For structs, code-generate version->expected struct size mapping, used
for validation.
- For arrays, code-generate size of a single element, in bits. Used for
array size validation.
- For maps, have a separate type descriptor type, just so we can check
that the 2 contained arrays are the same size.
Validation involves maintaining a ValidationContext struct, which
throughout validation is updated to containing the expected next handle
offset and next pointer offset.
This CL also factors out some common validation data/golden file reading code between C/C++.
R=viettrungluu@chromium.org
Committed: https://chromium.googlesource.com/external/mojo/+/15fbc30f08a51f9ead881822c9572fbe013aecba
Total comments: 22
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1047 lines, -131 lines) |
Patch |
 |
M |
mojo/public/c/bindings/BUILD.gn
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/array.h
|
View
|
|
1 chunk |
+19 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/lib/array.c
|
View
|
|
2 chunks |
+74 lines, -0 lines |
0 comments
|
Download
|
 |
A |
mojo/public/c/bindings/lib/map.c
|
View
|
|
1 chunk |
+36 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/lib/message.c
|
View
|
1
2
3
4
|
2 chunks |
+28 lines, -3 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/lib/struct.c
|
View
|
|
2 chunks |
+68 lines, -1 line |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/lib/type_descriptor.h
|
View
|
1
2
3
4
|
6 chunks |
+34 lines, -10 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/lib/type_descriptor.c
|
View
|
1
2
3
4
5
|
6 chunks |
+135 lines, -4 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/lib/union.c
|
View
|
|
1 chunk |
+34 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/lib/util.h
|
View
|
1
2
3
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/map.h
|
View
|
|
2 chunks |
+10 lines, -1 line |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/message.h
|
View
|
|
1 chunk |
+17 lines, -1 line |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/struct.h
|
View
|
|
3 chunks |
+22 lines, -3 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/tests/BUILD.gn
|
View
|
1
2
3
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
A |
mojo/public/c/bindings/tests/validation_unittest.cc
|
View
|
1
2
3
|
1 chunk |
+269 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/c/bindings/union.h
|
View
|
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/cpp/bindings/tests/BUILD.gn
|
View
|
1
2
3
4
5
|
3 chunks |
+23 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/cpp/bindings/tests/validation_unittest.cc
|
View
|
1
2
3
|
2 chunks |
+12 lines, -96 lines |
0 comments
|
Download
|
 |
A |
mojo/public/cpp/bindings/tests/validation_util.h
|
View
|
1
2
3
4
|
1 chunk |
+38 lines, -0 lines |
0 comments
|
Download
|
 |
A |
mojo/public/cpp/bindings/tests/validation_util.cc
|
View
|
1
2
3
|
1 chunk |
+107 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojo/public/tools/bindings/mojom_tool/bin/linux64/generators/c.sha1
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
mojo/public/tools/bindings/mojom_tool/bin/mac64/generators/c.sha1
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
mojom/generators/c/cgen/header.go
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
mojom/generators/c/cgen/type_table.go
|
View
|
1
2
3
4
|
8 chunks |
+36 lines, -3 lines |
0 comments
|
Download
|
 |
M |
mojom/generators/c/cgen/type_translation.go
|
View
|
|
3 chunks |
+16 lines, -1 line |
0 comments
|
Download
|
 |
M |
mojom/generators/c/templates/interface.tmpl.go
|
View
|
1
2
3
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
mojom/generators/c/templates/struct.tmpl.go
|
View
|
1
2
|
2 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
 |
M |
mojom/generators/c/templates/type_table.tmpl.go
|
View
|
1
2
|
2 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
Dependent Patchsets:
Total messages: 9 (2 generated)
|