1//
2// Copyright (C) 2014 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17//
18// To update:
19//
20
21//  git merge aosp/upstream-master
22//  mma -j
23//  # (Make any necessary Android.bp changes and test the new libxml2.)
24//  git push aosp HEAD:master  # Push directly, avoiding gerrit.
25//  git push aosp HEAD:refs/for/master  # Push to gerrit.
26//
27//  # Now commit any necessary Android.bp changes like normal:
28//  repo start post-sync .
29//  git commit -a
30//
31
32// This comes from the automake-generated Makefile.
33// We deliberately exclude nanoftp.c and nanohttp.c, the trio library, and zlib.
34// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
35//     CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
36//     DEPENDING ON IT IN YOUR PROJECT. ***
37package {
38    default_applicable_licenses: ["external_libxml2_license"],
39}
40
41// Added automatically by a large-scale-change that took the approach of
42// 'apply every license found to every target'. While this makes sure we respect
43// every license restriction, it may not be entirely correct.
44//
45// e.g. GPL in an MIT project might only apply to the contrib/ directory.
46//
47// Please consider splitting the single license below into multiple licenses,
48// taking care not to lose any license_kind information, and overriding the
49// default license using the 'licenses: [...]' property on targets as needed.
50//
51// For unused files, consider creating a 'fileGroup' with "//visibility:private"
52// to attach the license to, and including a comment whether the files may be
53// used in the current project.
54// See: http://go/android-license-faq
55license {
56    name: "external_libxml2_license",
57    visibility: [":__subpackages__"],
58    license_kinds: [
59        "SPDX-license-identifier-CC-BY-SA",
60        "SPDX-license-identifier-GFDL", // by exception only
61        "SPDX-license-identifier-GPL",
62        "SPDX-license-identifier-GPL-2.0",
63        "SPDX-license-identifier-MIT",
64        "SPDX-license-identifier-W3C",
65    ],
66    license_text: [
67        "Copyright",
68    ],
69}
70
71cc_defaults {
72    name: "libxml2-defaults",
73    srcs: [
74        "SAX.c",
75        "entities.c",
76        "encoding.c",
77        "error.c",
78        "parserInternals.c",
79        "parser.c",
80        "tree.c",
81        "hash.c",
82        "list.c",
83        "xmlIO.c",
84        "xmlmemory.c",
85        "uri.c",
86        "valid.c",
87        "xlink.c",
88        "debugXML.c",
89        "xpath.c",
90        "xpointer.c",
91        "xinclude.c",
92        "DOCBparser.c",
93        "catalog.c",
94        "globals.c",
95        "threads.c",
96        "c14n.c",
97        "xmlstring.c",
98        "buf.c",
99        "xmlregexp.c",
100        "xmlschemas.c",
101        "xmlschemastypes.c",
102        "xmlunicode.c",
103        "xmlreader.c",
104        "relaxng.c",
105        "dict.c",
106        "SAX2.c",
107        "xmlwriter.c",
108        "legacy.c",
109        "chvalid.c",
110        "pattern.c",
111        "xmlsave.c",
112        "xmlmodule.c",
113        "schematron.c",
114    ],
115    stl: "none",
116    export_include_dirs: ["include"],
117    cflags: [
118        "-DLIBXML_THREAD_ENABLED=1",
119
120        // Poison various things that should not be defined.
121        "-DLIBXML_LEGACY_ENABLED=NO",
122        "-DLIBXML_FTP_ENABLED=NO",
123        "-DLIBXML_HTML_ENABLED=NO",
124        "-DLIBXML_HTTP_ENABLED=NO",
125        "-DLIBXML_ICONV_ENABLED=NO",
126        "-DLIBXML_LZMA_ENABLED=NO",
127        "-DLIBXML_ZLIB_ENABLED=NO",
128        // And this one depends on whether or not we're building for the VNDK.
129        "-DLIBXML_ICU_ENABLED=NO",
130
131        "-Wall",
132        "-Werror",
133        "-Wno-error=ignored-attributes",
134        "-Wno-missing-field-initializers",
135        "-Wno-self-assign",
136        "-Wno-sign-compare",
137        "-Wno-tautological-pointer-compare",
138        "-Wno-unused-function",
139        "-Wno-unused-parameter",
140    ],
141    static: {
142        cflags: [
143            "-fvisibility=hidden",
144            "-DSTATIC_LIBXML=1",
145        ],
146    },
147}
148
149cc_library {
150    name: "libxml2",
151    defaults: ["libxml2-defaults"],
152    vendor_available: true,
153    product_available: true,
154    vndk: {
155        enabled: true,
156    },
157    host_supported: true,
158    target: {
159       android: {
160           shared_libs: ["libandroidicu"],
161           export_shared_lib_headers: ["libandroidicu"],
162       },
163       host: {
164           shared_libs: [
165               "libicui18n",
166               "libicuuc",
167           ],
168           export_shared_lib_headers: [
169               "libicui18n",
170               "libicuuc",
171           ],
172       },
173       vendor: {
174           exclude_shared_libs: ["libandroidicu"],
175       },
176       product: {
177           exclude_shared_libs: ["libandroidicu"],
178       },
179    },
180    apex_available: [
181        "//apex_available:platform",
182        "com.android.art", // used by odrefresh
183        "com.android.art.debug", // used by odrefreshd
184        "com.android.runtime", // used by linkerconfig
185        "com.android.virt",
186    ],
187    min_sdk_version: "apex_inherit",
188}
189
190cc_library_static {
191    name: "libxml2_ndk",
192    defaults: ["libxml2-defaults"],
193    sdk_version: "current",
194}
195
196cc_binary_host {
197    name: "xmllint",
198    srcs: ["xmllint.c"],
199    cflags: [
200        "-DLIBXML_THREAD_ENABLED=1",
201
202        "-Wall",
203        "-Werror",
204    ],
205    shared_libs: ["libxml2"],
206}
207
208cc_binary_host {
209    name: "libxml2_genseed",
210    srcs: [
211        "fuzz/genSeed.c",
212        "fuzz/fuzz.c",
213    ],
214    cflags: [
215        "-Wno-unused-variable",
216    ],
217    shared_libs: ["libxml2"],
218}
219
220cc_defaults {
221    name: "libxml2-fuzz-defaults",
222    host_supported: true,
223    shared_libs: [
224        "libxml2",
225    ],
226    srcs: [
227      "fuzz/fuzz.c",
228    ],
229    fuzz_config: {
230        componentid: 87896,
231    },
232}
233
234cc_fuzz {
235    name: "libxml2_regexp_fuzzer",
236    defaults: ["libxml2-fuzz-defaults"],
237    srcs: [
238        "fuzz/regexp.c",
239    ],
240    dictionary: "fuzz/regexp.dict",
241}
242
243genrule {
244    name: "libxml2_schema_fuzz_corpus",
245    tools: ["libxml2_genseed"],
246    srcs: [
247        "test/schemas",
248    ],
249    // The genseed tool only writes under its current directory.
250    // Soong does not run the tool from within the jail, so
251    // the shell must first 'cd' to the right path. However,
252    // then the location of the tool is lost, as $(location) gives
253    // a relative path.
254    cmd: "mkdir -p $(genDir)/fuzz/seed/schema && " +
255         "TOP_DIR=$$(pwd) && " +
256         "cd $(genDir)/fuzz && " +
257         "$${TOP_DIR}/$(location libxml2_genseed) schema " +
258           "$${TOP_DIR}/$(location test/schemas)/*.xsd",
259    out: [
260        "fuzz/seed/schema/570702_0.xsd",
261        "fuzz/seed/schema/579746_0.xsd",
262        "fuzz/seed/schema/579746_1.xsd",
263        "fuzz/seed/schema/582887_0.xsd",
264        "fuzz/seed/schema/582887-attribute.xsd",
265        "fuzz/seed/schema/582887-common.xsd",
266        "fuzz/seed/schema/582887-element.xsd",
267        "fuzz/seed/schema/582906-1_0.xsd",
268        "fuzz/seed/schema/582906-1-common.xsd",
269        "fuzz/seed/schema/582906-1-prog1.xsd",
270        "fuzz/seed/schema/582906-1-prog2-include.xsd",
271        "fuzz/seed/schema/582906-1-prog2.xsd",
272        "fuzz/seed/schema/582906-2_0.xsd",
273        "fuzz/seed/schema/582906-2-common.xsd",
274        "fuzz/seed/schema/582906-2-prog1.xsd",
275        "fuzz/seed/schema/582906-2-prog2-include.xsd",
276        "fuzz/seed/schema/582906-2-prog2.xsd",
277        "fuzz/seed/schema/all_0.xsd",
278        "fuzz/seed/schema/all1_0.xsd",
279        "fuzz/seed/schema/all_1.xsd",
280        "fuzz/seed/schema/all_2.xsd",
281        "fuzz/seed/schema/allsg_0.xsd",
282        "fuzz/seed/schema/all.xsd",
283        "fuzz/seed/schema/annot-err_0.xsd",
284        "fuzz/seed/schema/any1_0.xsd",
285        "fuzz/seed/schema/any2_0.xsd",
286        "fuzz/seed/schema/any3_0.xsd",
287        "fuzz/seed/schema/any4_0.xsd",
288        "fuzz/seed/schema/any5_0.xsd",
289        "fuzz/seed/schema/any5_1.xsd",
290        "fuzz/seed/schema/any6_1.xsd",
291        "fuzz/seed/schema/any6_2.xsd",
292        "fuzz/seed/schema/any7_1.xsd",
293        "fuzz/seed/schema/any7_2.xsd",
294        "fuzz/seed/schema/any8_1.xsd",
295        "fuzz/seed/schema/anyAttr1_0.xsd",
296        "fuzz/seed/schema/anyAttr-derive1_0.xsd",
297        "fuzz/seed/schema/anyAttr-derive2_0.xsd",
298        "fuzz/seed/schema/anyAttr-derive-errors1_0.xsd",
299        "fuzz/seed/schema/anyAttr.importA.1_0.xsd",
300        "fuzz/seed/schema/anyAttr.importB.1_0.xsd",
301        "fuzz/seed/schema/anyAttr-processContents1_0.xsd",
302        "fuzz/seed/schema/anyAttr-processContents-err1_0.xsd",
303        "fuzz/seed/schema/attr0_0.xsd",
304        "fuzz/seed/schema/attruse_0_0.xsd",
305        "fuzz/seed/schema/bug141312_0.xsd",
306        "fuzz/seed/schema/bug141333_0.xsd",
307        "fuzz/seed/schema/bug141333.xsd",
308        "fuzz/seed/schema/bug143951_0.xsd",
309        "fuzz/seed/schema/bug145246_0.xsd",
310        "fuzz/seed/schema/bug152470_1.xsd",
311        "fuzz/seed/schema/bug167754_0.xsd",
312        "fuzz/seed/schema/bug303566_1.xsd",
313        "fuzz/seed/schema/bug306806_1.xsd",
314        "fuzz/seed/schema/bug309338_1.xsd",
315        "fuzz/seed/schema/bug310264_0.xsd",
316        "fuzz/seed/schema/bug312957_1.xsd",
317        "fuzz/seed/schema/bug313982_0.xsd",
318        "fuzz/seed/schema/bug321475_1.xsd",
319        "fuzz/seed/schema/bug322411_1.xsd",
320        "fuzz/seed/schema/bug323510_1.xsd",
321        "fuzz/seed/schema/bug455953_0.xsd",
322        "fuzz/seed/schema/changelog093_1.xsd",
323        "fuzz/seed/schema/choice_0.xsd",
324        "fuzz/seed/schema/choice_1.xsd",
325        "fuzz/seed/schema/choice_2.xsd",
326        "fuzz/seed/schema/complex-type-extension_0.xsd",
327        "fuzz/seed/schema/cos-ct-extends-1-3_0.xsd",
328        "fuzz/seed/schema/cos-st-restricts-1-2-err_0.xsd",
329        "fuzz/seed/schema/ct-sc-nobase_0.xsd",
330        "fuzz/seed/schema/date_0.xsd",
331        "fuzz/seed/schema/decimal-1_1.xsd",
332        "fuzz/seed/schema/decimal-1.xsd",
333        "fuzz/seed/schema/decimal-2_1.xsd",
334        "fuzz/seed/schema/decimal-3_1.xsd",
335        "fuzz/seed/schema/derivation-ok-extension_0.xsd",
336        "fuzz/seed/schema/derivation-ok-extension-err_0.xsd",
337        "fuzz/seed/schema/derivation-ok-restriction-2-1-1_0.xsd",
338        "fuzz/seed/schema/derivation-ok-restriction-4-1-err_0.xsd",
339        "fuzz/seed/schema/derivation-restriction-anyAttr_0.xsd",
340        "fuzz/seed/schema/derivation-restriction-anyType.xsd",
341        "fuzz/seed/schema/deter0_0.xsd",
342        "fuzz/seed/schema/dur_0.xsd",
343        "fuzz/seed/schema/elem0_0.xsd",
344        "fuzz/seed/schema/element-err_0.xsd",
345        "fuzz/seed/schema/element-minmax-err_0.xsd",
346        "fuzz/seed/schema/empty_0.xsd",
347        "fuzz/seed/schema/empty_1.xsd",
348        "fuzz/seed/schema/empty-value_1.xsd",
349        "fuzz/seed/schema/extension0_0.xsd",
350        "fuzz/seed/schema/extension1_0.xsd",
351        "fuzz/seed/schema/extension2_1.xsd",
352        "fuzz/seed/schema/facet-unionST-err1_0.xsd",
353        "fuzz/seed/schema/facet-whiteSpace_0.xsd",
354        "fuzz/seed/schema/group0_0.xsd",
355        "fuzz/seed/schema/hexbinary_0.xsd",
356        "fuzz/seed/schema/idc-keyref-err1_1.xsd",
357        "fuzz/seed/schema/import0_0.xsd",
358        "fuzz/seed/schema/import1_0.xsd",
359        "fuzz/seed/schema/import2_0.xsd",
360        "fuzz/seed/schema/import-455953.xsd",
361        "fuzz/seed/schema/include1_0.xsd",
362        "fuzz/seed/schema/include2_0.xsd",
363        "fuzz/seed/schema/include3_0.xsd",
364        "fuzz/seed/schema/issue40_0.xsd",
365        "fuzz/seed/schema/item_0.xsd",
366        "fuzz/seed/schema/item_1.xsd",
367        "fuzz/seed/schema/length1_0.xsd",
368        "fuzz/seed/schema/length2_0.xsd",
369        "fuzz/seed/schema/length3_0.xsd",
370        "fuzz/seed/schema/list0_0.xsd",
371        "fuzz/seed/schema/list0_1.xsd",
372        "fuzz/seed/schema/mixed0_0.xsd",
373        "fuzz/seed/schema/mixed1_0.xsd",
374        "fuzz/seed/schema/ns0_0.xsd",
375        "fuzz/seed/schema/ns0_1.xsd",
376        "fuzz/seed/schema/ns1_0.xsd",
377        "fuzz/seed/schema/ns2_0.xsd",
378        "fuzz/seed/schema/nvdcve_0.xsd",
379        "fuzz/seed/schema/po0_0.xsd",
380        "fuzz/seed/schema/po1_0.xsd",
381        "fuzz/seed/schema/poschargrp0_0.xsd",
382        "fuzz/seed/schema/regexp-char-ref_0.xsd",
383        "fuzz/seed/schema/regexp-char-ref_1.xsd",
384        "fuzz/seed/schema/restrict-CT-attr-ref_0.xsd",
385        "fuzz/seed/schema/restriction0_0.xsd",
386        "fuzz/seed/schema/restriction-attr1_0.xsd",
387        "fuzz/seed/schema/restriction-enum-1_1.xsd",
388        "fuzz/seed/schema/scc-no-xmlns_0.xsd",
389        "fuzz/seed/schema/scc-no-xsi_0.xsd",
390        "fuzz/seed/schema/seq0_0.xsd",
391        "fuzz/seed/schema/seq-dubl-elem1_0.xsd",
392        "fuzz/seed/schema/src-attribute1_0.xsd",
393        "fuzz/seed/schema/src-attribute2_0.xsd",
394        "fuzz/seed/schema/src-attribute3-1_0.xsd",
395        "fuzz/seed/schema/src-attribute3-2-form_0.xsd",
396        "fuzz/seed/schema/src-attribute3-2-st_0.xsd",
397        "fuzz/seed/schema/src-attribute3-2-type_0.xsd",
398        "fuzz/seed/schema/src-attribute4_0.xsd",
399        "fuzz/seed/schema/src-element1_0.xsd",
400        "fuzz/seed/schema/src-element2-1_0.xsd",
401        "fuzz/seed/schema/src-element2-2_0.xsd",
402        "fuzz/seed/schema/src-element3_0.xsd",
403        "fuzz/seed/schema/subst-group-1_0.xsd",
404        "fuzz/seed/schema/union_0_0.xsd",
405        "fuzz/seed/schema/union2_1.xsd",
406        "fuzz/seed/schema/vdv-complexTypes.xsd",
407        "fuzz/seed/schema/vdv-first0_0.xsd",
408        "fuzz/seed/schema/vdv-first1_0.xsd",
409        "fuzz/seed/schema/vdv-first2_0.xsd",
410        "fuzz/seed/schema/vdv-first3_0.xsd",
411        "fuzz/seed/schema/vdv-first4_0.xsd",
412        "fuzz/seed/schema/vdv-first5_0.xsd",
413        "fuzz/seed/schema/vdv-simpleTypes.xsd",
414        "fuzz/seed/schema/xml.xsd",
415        "fuzz/seed/schema/xsd-list-itemType_0.xsd",
416        "fuzz/seed/schema/xsd-simpleType-varieties_0.xsd",
417    ],
418}
419
420cc_fuzz {
421    name: "libxml2_schema_fuzzer",
422    defaults: ["libxml2-fuzz-defaults"],
423    srcs: [
424        "fuzz/schema.c",
425    ],
426    dictionary: "fuzz/schema.dict",
427    corpus: [":libxml2_schema_fuzz_corpus"],
428}
429
430cc_fuzz {
431    name: "libxml2_uri_fuzzer",
432    defaults: ["libxml2-fuzz-defaults"],
433    srcs: [
434        "fuzz/uri.c",
435    ],
436}
437
438genrule {
439    name: "libxml2_xml_fuzz_corpus",
440    tools: ["libxml2_genseed"],
441    srcs: [
442        "test",
443        "test/errors",
444        "test/errors10",
445        "test/namespaces",
446        "test/valid",
447        "test/VC",
448        "test/VCM",
449        "test/XInclude/docs",
450        "test/xmlid",
451    ],
452    // The genseed tool only writes under its current directory.
453    // Soong does not run the tool from within the jail, so
454    // the shell must first 'cd' to the right path. However,
455    // then the location of the tool is lost, as $(location) gives
456    // a relative path.
457    cmd: "mkdir -p $(genDir)/fuzz/seed/xml && " +
458         "TOP_DIR=$$(pwd) && " +
459         "cd $(genDir)/fuzz && " +
460         "$${TOP_DIR}/$(location libxml2_genseed) xml " +
461           "$${TOP_DIR}/$(location test)/* " +
462           "$${TOP_DIR}/$(location test/errors)/*.xml " +
463           "$${TOP_DIR}/$(location test/errors10)/*.xml " +
464           "$${TOP_DIR}/$(location test/namespaces)/* " +
465           "$${TOP_DIR}/$(location test/valid)/*.xml " +
466           "$${TOP_DIR}/$(location test/VC)/* " +
467           "$${TOP_DIR}/$(location test/VCM)/* " +
468           "$${TOP_DIR}/$(location test/XInclude/docs)/* " +
469           "$${TOP_DIR}/$(location test/xmlid)/*",
470    out: [
471        "fuzz/seed/xml/127772.xml",
472        "fuzz/seed/xml/21.xml",
473        "fuzz/seed/xml/694228.xml",
474        "fuzz/seed/xml/737840.xml",
475        "fuzz/seed/xml/754946.xml",
476        "fuzz/seed/xml/754947.xml",
477        "fuzz/seed/xml/758588.xml",
478        "fuzz/seed/xml/759020.xml",
479        "fuzz/seed/xml/759398.xml",
480        "fuzz/seed/xml/759573-2.xml",
481        "fuzz/seed/xml/759573.xml",
482        "fuzz/seed/xml/759579.xml",
483        "fuzz/seed/xml/766956.xml",
484        "fuzz/seed/xml/781205.xml",
485        "fuzz/seed/xml/781333.xml",
486        "fuzz/seed/xml/781361.xml",
487        "fuzz/seed/xml/att1",
488        "fuzz/seed/xml/att10",
489        "fuzz/seed/xml/att11",
490        "fuzz/seed/xml/att2",
491        "fuzz/seed/xml/att3",
492        "fuzz/seed/xml/att4",
493        "fuzz/seed/xml/att5",
494        "fuzz/seed/xml/att6",
495        "fuzz/seed/xml/att7",
496        "fuzz/seed/xml/att8",
497        "fuzz/seed/xml/att9",
498        "fuzz/seed/xml/attr1.xml",
499        "fuzz/seed/xml/attr2.xml",
500        "fuzz/seed/xml/attr3.xml",
501        "fuzz/seed/xml/attr4.xml",
502        "fuzz/seed/xml/AttributeDefaultLegal",
503        "fuzz/seed/xml/AttributeNmtokens",
504        "fuzz/seed/xml/AttributeNmtokens.xml",
505        "fuzz/seed/xml/attrib.xml",
506        "fuzz/seed/xml/badcomment.xml",
507        "fuzz/seed/xml/bigentname.xml",
508        "fuzz/seed/xml/bigname2.xml",
509        "fuzz/seed/xml/bigname.xml",
510        "fuzz/seed/xml/cdata",
511        "fuzz/seed/xml/cdata2",
512        "fuzz/seed/xml/cdata-2-byte-UTF-8.xml",
513        "fuzz/seed/xml/cdata-3-byte-UTF-8.xml",
514        "fuzz/seed/xml/cdata-4-byte-UTF-8.xml",
515        "fuzz/seed/xml/cdata.xml",
516        "fuzz/seed/xml/charref1.xml",
517        "fuzz/seed/xml/comment1.xml",
518        "fuzz/seed/xml/comment2.xml",
519        "fuzz/seed/xml/comment3.xml",
520        "fuzz/seed/xml/comment4.xml",
521        "fuzz/seed/xml/comment5.xml",
522        "fuzz/seed/xml/comment6.xml",
523        "fuzz/seed/xml/comment.xml",
524        "fuzz/seed/xml/cond_sect1.xml",
525        "fuzz/seed/xml/cond_sect2.xml",
526        "fuzz/seed/xml/content1.xml",
527        "fuzz/seed/xml/dav1",
528        "fuzz/seed/xml/dav10",
529        "fuzz/seed/xml/dav11",
530        "fuzz/seed/xml/dav12",
531        "fuzz/seed/xml/dav13",
532        "fuzz/seed/xml/dav15",
533        "fuzz/seed/xml/dav16",
534        "fuzz/seed/xml/dav17",
535        "fuzz/seed/xml/dav18",
536        "fuzz/seed/xml/dav19",
537        "fuzz/seed/xml/dav2",
538        "fuzz/seed/xml/dav3",
539        "fuzz/seed/xml/dav4",
540        "fuzz/seed/xml/dav5",
541        "fuzz/seed/xml/dav6",
542        "fuzz/seed/xml/dav7",
543        "fuzz/seed/xml/dav8",
544        "fuzz/seed/xml/dav9",
545        "fuzz/seed/xml/defattr2.xml",
546        "fuzz/seed/xml/defattr.xml",
547        "fuzz/seed/xml/dia1",
548        "fuzz/seed/xml/dia2",
549        "fuzz/seed/xml/dia.xml",
550        "fuzz/seed/xml/docids.xml",
551        "fuzz/seed/xml/dtd1",
552        "fuzz/seed/xml/dtd10",
553        "fuzz/seed/xml/dtd11",
554        "fuzz/seed/xml/dtd12",
555        "fuzz/seed/xml/dtd13",
556        "fuzz/seed/xml/dtd2",
557        "fuzz/seed/xml/dtd3",
558        "fuzz/seed/xml/dtd4",
559        "fuzz/seed/xml/dtd5",
560        "fuzz/seed/xml/dtd6",
561        "fuzz/seed/xml/dtd7",
562        "fuzz/seed/xml/dtd8",
563        "fuzz/seed/xml/dtd9",
564        "fuzz/seed/xml/DuplicateType",
565        "fuzz/seed/xml/ebcdic_566012.xml",
566        "fuzz/seed/xml/ElementValid",
567        "fuzz/seed/xml/ElementValid2",
568        "fuzz/seed/xml/ElementValid3",
569        "fuzz/seed/xml/ElementValid4",
570        "fuzz/seed/xml/ElementValid5",
571        "fuzz/seed/xml/ElementValid6",
572        "fuzz/seed/xml/ElementValid7",
573        "fuzz/seed/xml/ElementValid8",
574        "fuzz/seed/xml/emptycdata.xml",
575        "fuzz/seed/xml/ent1",
576        "fuzz/seed/xml/ent10",
577        "fuzz/seed/xml/ent11",
578        "fuzz/seed/xml/ent12",
579        "fuzz/seed/xml/ent13",
580        "fuzz/seed/xml/ent2",
581        "fuzz/seed/xml/ent3",
582        "fuzz/seed/xml/ent4",
583        "fuzz/seed/xml/ent5",
584        "fuzz/seed/xml/ent6",
585        "fuzz/seed/xml/ent7",
586        "fuzz/seed/xml/ent_738805.xml",
587        "fuzz/seed/xml/ent8",
588        "fuzz/seed/xml/ent9",
589        "fuzz/seed/xml/Enumeration",
590        "fuzz/seed/xml/err_0.xml",
591        "fuzz/seed/xml/err_10.xml",
592        "fuzz/seed/xml/err_11.xml",
593        "fuzz/seed/xml/err_1.xml",
594        "fuzz/seed/xml/err_2.xml",
595        "fuzz/seed/xml/err_3.xml",
596        "fuzz/seed/xml/err_4.xml",
597        "fuzz/seed/xml/err_5.xml",
598        "fuzz/seed/xml/err_6.xml",
599        "fuzz/seed/xml/err_7.xml",
600        "fuzz/seed/xml/err_8.xml",
601        "fuzz/seed/xml/err_9.xml",
602        "fuzz/seed/xml/eve.xml",
603        "fuzz/seed/xml/extparsedent.xml",
604        "fuzz/seed/xml/fallback2.xml",
605        "fuzz/seed/xml/fallback3.xml",
606        "fuzz/seed/xml/fallback4.xml",
607        "fuzz/seed/xml/fallback5.xml",
608        "fuzz/seed/xml/fallback6.xml",
609        "fuzz/seed/xml/fallback.xml",
610        "fuzz/seed/xml/icu_parse_test.xml",
611        "fuzz/seed/xml/id1.xml",
612        "fuzz/seed/xml/id2.xml",
613        "fuzz/seed/xml/id3.xml",
614        "fuzz/seed/xml/id_err1.xml",
615        "fuzz/seed/xml/id_err2.xml",
616        "fuzz/seed/xml/id_tst1.xml",
617        "fuzz/seed/xml/id_tst2.xml",
618        "fuzz/seed/xml/id_tst3.xml",
619        "fuzz/seed/xml/id_tst4.xml",
620        "fuzz/seed/xml/include.xml",
621        "fuzz/seed/xml/index.xml",
622        "fuzz/seed/xml/intsubset2.xml",
623        "fuzz/seed/xml/intsubset.xml",
624        "fuzz/seed/xml/isolat1",
625        "fuzz/seed/xml/isolat2",
626        "fuzz/seed/xml/isolat3",
627        "fuzz/seed/xml/japancrlf.xml",
628        "fuzz/seed/xml/mixed_ns.xml",
629        "fuzz/seed/xml/name2.xml",
630        "fuzz/seed/xml/name.xml",
631        "fuzz/seed/xml/nodes2.xml",
632        "fuzz/seed/xml/nodes3.xml",
633        "fuzz/seed/xml/nodes.xml",
634        "fuzz/seed/xml/notes.xml",
635        "fuzz/seed/xml/ns",
636        "fuzz/seed/xml/NS1",
637        "fuzz/seed/xml/ns1.xml",
638        "fuzz/seed/xml/ns2",
639        "fuzz/seed/xml/NS2",
640        "fuzz/seed/xml/ns2.xml",
641        "fuzz/seed/xml/ns3",
642        "fuzz/seed/xml/NS3",
643        "fuzz/seed/xml/ns4",
644        "fuzz/seed/xml/ns5",
645        "fuzz/seed/xml/ns6",
646        "fuzz/seed/xml/ns7",
647        "fuzz/seed/xml/nsclean.xml",
648        "fuzz/seed/xml/ns.xml",
649        "fuzz/seed/xml/objednavka.xml",
650        "fuzz/seed/xml/OneID",
651        "fuzz/seed/xml/OneID2",
652        "fuzz/seed/xml/OneID3",
653        "fuzz/seed/xml/p3p",
654        "fuzz/seed/xml/PENesting",
655        "fuzz/seed/xml/PENesting2",
656        "fuzz/seed/xml/pi2.xml",
657        "fuzz/seed/xml/pi.xml",
658        "fuzz/seed/xml/rdf1",
659        "fuzz/seed/xml/rdf2",
660        "fuzz/seed/xml/rec_ext_ent.xml",
661        "fuzz/seed/xml/recursive.xml",
662        "fuzz/seed/xml/REC-xml-19980210.xml",
663        "fuzz/seed/xml/rss.xml",
664        "fuzz/seed/xml/slashdot16.xml",
665        "fuzz/seed/xml/slashdot.rdf",
666        "fuzz/seed/xml/slashdot.xml",
667        "fuzz/seed/xml/svg1",
668        "fuzz/seed/xml/svg2",
669        "fuzz/seed/xml/svg3",
670        "fuzz/seed/xml/t10.xml",
671        "fuzz/seed/xml/t11.xml",
672        "fuzz/seed/xml/t4a.xml",
673        "fuzz/seed/xml/t4.xml",
674        "fuzz/seed/xml/t6.xml",
675        "fuzz/seed/xml/t8a.xml",
676        "fuzz/seed/xml/t8.xml",
677        "fuzz/seed/xml/t9a.xml",
678        "fuzz/seed/xml/t9.xml",
679        "fuzz/seed/xml/title.xml",
680        "fuzz/seed/xml/tstblanks.xml",
681        "fuzz/seed/xml/tstencoding.xml",
682        "fuzz/seed/xml/txtinclude.xml",
683        "fuzz/seed/xml/UniqueElementTypeDeclaration",
684        "fuzz/seed/xml/UniqueElementTypeDeclaration2",
685        "fuzz/seed/xml/utf16bebom.xml",
686        "fuzz/seed/xml/utf16bom.xml",
687        "fuzz/seed/xml/UTF16Entity.xml",
688        "fuzz/seed/xml/utf16lebom.xml",
689        "fuzz/seed/xml/utf8bom.xml",
690        "fuzz/seed/xml/v10.xml",
691        "fuzz/seed/xml/v11.xml",
692        "fuzz/seed/xml/v12.xml",
693        "fuzz/seed/xml/v13.xml",
694        "fuzz/seed/xml/v14.xml",
695        "fuzz/seed/xml/v15.xml",
696        "fuzz/seed/xml/v16.xml",
697        "fuzz/seed/xml/v17.xml",
698        "fuzz/seed/xml/v18.xml",
699        "fuzz/seed/xml/v19.xml",
700        "fuzz/seed/xml/v1.xml",
701        "fuzz/seed/xml/v20.xml",
702        "fuzz/seed/xml/v21.xml",
703        "fuzz/seed/xml/v22.xml",
704        "fuzz/seed/xml/v23.xml",
705        "fuzz/seed/xml/v24.xml",
706        "fuzz/seed/xml/v2.xml",
707        "fuzz/seed/xml/v3.xml",
708        "fuzz/seed/xml/v4.xml",
709        "fuzz/seed/xml/v5.xml",
710        "fuzz/seed/xml/v6.xml",
711        "fuzz/seed/xml/v7.xml",
712        "fuzz/seed/xml/v8.xml",
713        "fuzz/seed/xml/v9.xml",
714        "fuzz/seed/xml/wap.xml",
715        "fuzz/seed/xml/winblanks.xml",
716        "fuzz/seed/xml/wml.xml",
717        "fuzz/seed/xml/xhtml1",
718        "fuzz/seed/xml/xhtmlcomp",
719        "fuzz/seed/xml/xlink.xml",
720        "fuzz/seed/xml/xml1",
721        "fuzz/seed/xml/xml2",
722    ],
723}
724
725cc_fuzz {
726    name: "libxml2_xml_fuzzer",
727    defaults: ["libxml2-fuzz-defaults"],
728    srcs: [
729        "fuzz/xml.c",
730    ],
731    dictionary: "fuzz/xml.dict",
732    corpus: [":libxml2_xml_fuzz_corpus"],
733}
734
735genrule {
736    name: "libxml2_xpath_fuzz_corpus",
737    tools: ["libxml2_genseed"],
738    srcs: [
739        "test/XPath",
740    ],
741    // The genseed tool only writes under its current directory.
742    // Soong does not run the tool from within the jail, so
743    // the shell must first 'cd' to the right path. However,
744    // then the location of the tool is lost, as $(location) gives
745    // a relative path.
746    cmd: "mkdir -p $(genDir)/fuzz/seed/xpath && " +
747         "TOP_DIR=$$(pwd) && " +
748         "cd $(genDir)/fuzz && " +
749         "$${TOP_DIR}/$(location libxml2_genseed) xpath " +
750           "$${TOP_DIR}/$(location test/XPath)",
751    out: [
752        "fuzz/seed/xpath/chapters-1",
753        "fuzz/seed/xpath/chapters-10",
754        "fuzz/seed/xpath/chapters-11",
755        "fuzz/seed/xpath/chapters-12",
756        "fuzz/seed/xpath/chapters-13",
757        "fuzz/seed/xpath/chapters-14",
758        "fuzz/seed/xpath/chapters-15",
759        "fuzz/seed/xpath/chapters-16",
760        "fuzz/seed/xpath/chapters-17",
761        "fuzz/seed/xpath/chapters-18",
762        "fuzz/seed/xpath/chapters-19",
763        "fuzz/seed/xpath/chapters-2",
764        "fuzz/seed/xpath/chapters-20",
765        "fuzz/seed/xpath/chapters-21",
766        "fuzz/seed/xpath/chapters-22",
767        "fuzz/seed/xpath/chapters-23",
768        "fuzz/seed/xpath/chapters-24",
769        "fuzz/seed/xpath/chapters-25",
770        "fuzz/seed/xpath/chapters-26",
771        "fuzz/seed/xpath/chapters-27",
772        "fuzz/seed/xpath/chapters-28",
773        "fuzz/seed/xpath/chapters-29",
774        "fuzz/seed/xpath/chapters-3",
775        "fuzz/seed/xpath/chapters-30",
776        "fuzz/seed/xpath/chapters-31",
777        "fuzz/seed/xpath/chapters-32",
778        "fuzz/seed/xpath/chapters-33",
779        "fuzz/seed/xpath/chapters-34",
780        "fuzz/seed/xpath/chapters-35",
781        "fuzz/seed/xpath/chapters-36",
782        "fuzz/seed/xpath/chapters-37",
783        "fuzz/seed/xpath/chapters-38",
784        "fuzz/seed/xpath/chapters-39",
785        "fuzz/seed/xpath/chapters-4",
786        "fuzz/seed/xpath/chapters-40",
787        "fuzz/seed/xpath/chapters-41",
788        "fuzz/seed/xpath/chapters-42",
789        "fuzz/seed/xpath/chapters-43",
790        "fuzz/seed/xpath/chapters-5",
791        "fuzz/seed/xpath/chapters-6",
792        "fuzz/seed/xpath/chapters-7",
793        "fuzz/seed/xpath/chapters-8",
794        "fuzz/seed/xpath/chapters-9",
795        "fuzz/seed/xpath/expr-1",
796        "fuzz/seed/xpath/expr-10",
797        "fuzz/seed/xpath/expr-100",
798        "fuzz/seed/xpath/expr-101",
799        "fuzz/seed/xpath/expr-102",
800        "fuzz/seed/xpath/expr-103",
801        "fuzz/seed/xpath/expr-104",
802        "fuzz/seed/xpath/expr-105",
803        "fuzz/seed/xpath/expr-106",
804        "fuzz/seed/xpath/expr-107",
805        "fuzz/seed/xpath/expr-108",
806        "fuzz/seed/xpath/expr-109",
807        "fuzz/seed/xpath/expr-11",
808        "fuzz/seed/xpath/expr-110",
809        "fuzz/seed/xpath/expr-111",
810        "fuzz/seed/xpath/expr-112",
811        "fuzz/seed/xpath/expr-113",
812        "fuzz/seed/xpath/expr-114",
813        "fuzz/seed/xpath/expr-115",
814        "fuzz/seed/xpath/expr-116",
815        "fuzz/seed/xpath/expr-117",
816        "fuzz/seed/xpath/expr-118",
817        "fuzz/seed/xpath/expr-119",
818        "fuzz/seed/xpath/expr-12",
819        "fuzz/seed/xpath/expr-120",
820        "fuzz/seed/xpath/expr-121",
821        "fuzz/seed/xpath/expr-122",
822        "fuzz/seed/xpath/expr-123",
823        "fuzz/seed/xpath/expr-124",
824        "fuzz/seed/xpath/expr-125",
825        "fuzz/seed/xpath/expr-126",
826        "fuzz/seed/xpath/expr-127",
827        "fuzz/seed/xpath/expr-128",
828        "fuzz/seed/xpath/expr-129",
829        "fuzz/seed/xpath/expr-13",
830        "fuzz/seed/xpath/expr-130",
831        "fuzz/seed/xpath/expr-131",
832        "fuzz/seed/xpath/expr-132",
833        "fuzz/seed/xpath/expr-133",
834        "fuzz/seed/xpath/expr-134",
835        "fuzz/seed/xpath/expr-135",
836        "fuzz/seed/xpath/expr-136",
837        "fuzz/seed/xpath/expr-137",
838        "fuzz/seed/xpath/expr-138",
839        "fuzz/seed/xpath/expr-139",
840        "fuzz/seed/xpath/expr-14",
841        "fuzz/seed/xpath/expr-140",
842        "fuzz/seed/xpath/expr-141",
843        "fuzz/seed/xpath/expr-142",
844        "fuzz/seed/xpath/expr-143",
845        "fuzz/seed/xpath/expr-144",
846        "fuzz/seed/xpath/expr-145",
847        "fuzz/seed/xpath/expr-146",
848        "fuzz/seed/xpath/expr-147",
849        "fuzz/seed/xpath/expr-148",
850        "fuzz/seed/xpath/expr-149",
851        "fuzz/seed/xpath/expr-15",
852        "fuzz/seed/xpath/expr-150",
853        "fuzz/seed/xpath/expr-151",
854        "fuzz/seed/xpath/expr-152",
855        "fuzz/seed/xpath/expr-153",
856        "fuzz/seed/xpath/expr-154",
857        "fuzz/seed/xpath/expr-155",
858        "fuzz/seed/xpath/expr-156",
859        "fuzz/seed/xpath/expr-157",
860        "fuzz/seed/xpath/expr-158",
861        "fuzz/seed/xpath/expr-159",
862        "fuzz/seed/xpath/expr-16",
863        "fuzz/seed/xpath/expr-160",
864        "fuzz/seed/xpath/expr-161",
865        "fuzz/seed/xpath/expr-162",
866        "fuzz/seed/xpath/expr-163",
867        "fuzz/seed/xpath/expr-164",
868        "fuzz/seed/xpath/expr-165",
869        "fuzz/seed/xpath/expr-166",
870        "fuzz/seed/xpath/expr-167",
871        "fuzz/seed/xpath/expr-168",
872        "fuzz/seed/xpath/expr-169",
873        "fuzz/seed/xpath/expr-17",
874        "fuzz/seed/xpath/expr-170",
875        "fuzz/seed/xpath/expr-171",
876        "fuzz/seed/xpath/expr-172",
877        "fuzz/seed/xpath/expr-173",
878        "fuzz/seed/xpath/expr-174",
879        "fuzz/seed/xpath/expr-175",
880        "fuzz/seed/xpath/expr-176",
881        "fuzz/seed/xpath/expr-177",
882        "fuzz/seed/xpath/expr-178",
883        "fuzz/seed/xpath/expr-179",
884        "fuzz/seed/xpath/expr-18",
885        "fuzz/seed/xpath/expr-180",
886        "fuzz/seed/xpath/expr-181",
887        "fuzz/seed/xpath/expr-182",
888        "fuzz/seed/xpath/expr-183",
889        "fuzz/seed/xpath/expr-184",
890        "fuzz/seed/xpath/expr-185",
891        "fuzz/seed/xpath/expr-186",
892        "fuzz/seed/xpath/expr-187",
893        "fuzz/seed/xpath/expr-188",
894        "fuzz/seed/xpath/expr-189",
895        "fuzz/seed/xpath/expr-19",
896        "fuzz/seed/xpath/expr-190",
897        "fuzz/seed/xpath/expr-191",
898        "fuzz/seed/xpath/expr-192",
899        "fuzz/seed/xpath/expr-193",
900        "fuzz/seed/xpath/expr-194",
901        "fuzz/seed/xpath/expr-195",
902        "fuzz/seed/xpath/expr-196",
903        "fuzz/seed/xpath/expr-197",
904        "fuzz/seed/xpath/expr-198",
905        "fuzz/seed/xpath/expr-199",
906        "fuzz/seed/xpath/expr-2",
907        "fuzz/seed/xpath/expr-20",
908        "fuzz/seed/xpath/expr-200",
909        "fuzz/seed/xpath/expr-201",
910        "fuzz/seed/xpath/expr-202",
911        "fuzz/seed/xpath/expr-203",
912        "fuzz/seed/xpath/expr-204",
913        "fuzz/seed/xpath/expr-205",
914        "fuzz/seed/xpath/expr-206",
915        "fuzz/seed/xpath/expr-207",
916        "fuzz/seed/xpath/expr-208",
917        "fuzz/seed/xpath/expr-209",
918        "fuzz/seed/xpath/expr-21",
919        "fuzz/seed/xpath/expr-210",
920        "fuzz/seed/xpath/expr-211",
921        "fuzz/seed/xpath/expr-212",
922        "fuzz/seed/xpath/expr-213",
923        "fuzz/seed/xpath/expr-214",
924        "fuzz/seed/xpath/expr-215",
925        "fuzz/seed/xpath/expr-216",
926        "fuzz/seed/xpath/expr-217",
927        "fuzz/seed/xpath/expr-218",
928        "fuzz/seed/xpath/expr-219",
929        "fuzz/seed/xpath/expr-22",
930        "fuzz/seed/xpath/expr-220",
931        "fuzz/seed/xpath/expr-221",
932        "fuzz/seed/xpath/expr-222",
933        "fuzz/seed/xpath/expr-223",
934        "fuzz/seed/xpath/expr-224",
935        "fuzz/seed/xpath/expr-225",
936        "fuzz/seed/xpath/expr-226",
937        "fuzz/seed/xpath/expr-227",
938        "fuzz/seed/xpath/expr-228",
939        "fuzz/seed/xpath/expr-229",
940        "fuzz/seed/xpath/expr-23",
941        "fuzz/seed/xpath/expr-230",
942        "fuzz/seed/xpath/expr-231",
943        "fuzz/seed/xpath/expr-232",
944        "fuzz/seed/xpath/expr-24",
945        "fuzz/seed/xpath/expr-25",
946        "fuzz/seed/xpath/expr-26",
947        "fuzz/seed/xpath/expr-27",
948        "fuzz/seed/xpath/expr-28",
949        "fuzz/seed/xpath/expr-29",
950        "fuzz/seed/xpath/expr-3",
951        "fuzz/seed/xpath/expr-30",
952        "fuzz/seed/xpath/expr-31",
953        "fuzz/seed/xpath/expr-32",
954        "fuzz/seed/xpath/expr-33",
955        "fuzz/seed/xpath/expr-34",
956        "fuzz/seed/xpath/expr-35",
957        "fuzz/seed/xpath/expr-36",
958        "fuzz/seed/xpath/expr-37",
959        "fuzz/seed/xpath/expr-38",
960        "fuzz/seed/xpath/expr-39",
961        "fuzz/seed/xpath/expr-4",
962        "fuzz/seed/xpath/expr-40",
963        "fuzz/seed/xpath/expr-41",
964        "fuzz/seed/xpath/expr-42",
965        "fuzz/seed/xpath/expr-43",
966        "fuzz/seed/xpath/expr-44",
967        "fuzz/seed/xpath/expr-45",
968        "fuzz/seed/xpath/expr-46",
969        "fuzz/seed/xpath/expr-47",
970        "fuzz/seed/xpath/expr-48",
971        "fuzz/seed/xpath/expr-49",
972        "fuzz/seed/xpath/expr-5",
973        "fuzz/seed/xpath/expr-50",
974        "fuzz/seed/xpath/expr-51",
975        "fuzz/seed/xpath/expr-52",
976        "fuzz/seed/xpath/expr-53",
977        "fuzz/seed/xpath/expr-54",
978        "fuzz/seed/xpath/expr-55",
979        "fuzz/seed/xpath/expr-56",
980        "fuzz/seed/xpath/expr-57",
981        "fuzz/seed/xpath/expr-58",
982        "fuzz/seed/xpath/expr-59",
983        "fuzz/seed/xpath/expr-6",
984        "fuzz/seed/xpath/expr-60",
985        "fuzz/seed/xpath/expr-61",
986        "fuzz/seed/xpath/expr-62",
987        "fuzz/seed/xpath/expr-63",
988        "fuzz/seed/xpath/expr-64",
989        "fuzz/seed/xpath/expr-65",
990        "fuzz/seed/xpath/expr-66",
991        "fuzz/seed/xpath/expr-67",
992        "fuzz/seed/xpath/expr-68",
993        "fuzz/seed/xpath/expr-69",
994        "fuzz/seed/xpath/expr-7",
995        "fuzz/seed/xpath/expr-70",
996        "fuzz/seed/xpath/expr-71",
997        "fuzz/seed/xpath/expr-72",
998        "fuzz/seed/xpath/expr-73",
999        "fuzz/seed/xpath/expr-74",
1000        "fuzz/seed/xpath/expr-75",
1001        "fuzz/seed/xpath/expr-76",
1002        "fuzz/seed/xpath/expr-77",
1003        "fuzz/seed/xpath/expr-78",
1004        "fuzz/seed/xpath/expr-79",
1005        "fuzz/seed/xpath/expr-8",
1006        "fuzz/seed/xpath/expr-80",
1007        "fuzz/seed/xpath/expr-81",
1008        "fuzz/seed/xpath/expr-82",
1009        "fuzz/seed/xpath/expr-83",
1010        "fuzz/seed/xpath/expr-84",
1011        "fuzz/seed/xpath/expr-85",
1012        "fuzz/seed/xpath/expr-86",
1013        "fuzz/seed/xpath/expr-87",
1014        "fuzz/seed/xpath/expr-88",
1015        "fuzz/seed/xpath/expr-89",
1016        "fuzz/seed/xpath/expr-9",
1017        "fuzz/seed/xpath/expr-90",
1018        "fuzz/seed/xpath/expr-91",
1019        "fuzz/seed/xpath/expr-92",
1020        "fuzz/seed/xpath/expr-93",
1021        "fuzz/seed/xpath/expr-94",
1022        "fuzz/seed/xpath/expr-95",
1023        "fuzz/seed/xpath/expr-96",
1024        "fuzz/seed/xpath/expr-97",
1025        "fuzz/seed/xpath/expr-98",
1026        "fuzz/seed/xpath/expr-99",
1027        "fuzz/seed/xpath/id-1",
1028        "fuzz/seed/xpath/id-2",
1029        "fuzz/seed/xpath/id-3",
1030        "fuzz/seed/xpath/lang-1",
1031        "fuzz/seed/xpath/lang-2",
1032        "fuzz/seed/xpath/lang-3",
1033        "fuzz/seed/xpath/lang-4",
1034        "fuzz/seed/xpath/lang-5",
1035        "fuzz/seed/xpath/mixed-1",
1036        "fuzz/seed/xpath/mixed-2",
1037        "fuzz/seed/xpath/mixed-3",
1038        "fuzz/seed/xpath/mixed-4",
1039        "fuzz/seed/xpath/mixed-5",
1040        "fuzz/seed/xpath/mixed-6",
1041        "fuzz/seed/xpath/mixed-7",
1042        "fuzz/seed/xpath/nodes-1",
1043        "fuzz/seed/xpath/nodes-2",
1044        "fuzz/seed/xpath/nodes-3",
1045        "fuzz/seed/xpath/nodes-4",
1046        "fuzz/seed/xpath/nodes-5",
1047        "fuzz/seed/xpath/ns-1",
1048        "fuzz/seed/xpath/ns-2",
1049        "fuzz/seed/xpath/ns-3",
1050        "fuzz/seed/xpath/ns-4",
1051        "fuzz/seed/xpath/ns-5",
1052        "fuzz/seed/xpath/simple-1",
1053        "fuzz/seed/xpath/simple-10",
1054        "fuzz/seed/xpath/simple-11",
1055        "fuzz/seed/xpath/simple-12",
1056        "fuzz/seed/xpath/simple-13",
1057        "fuzz/seed/xpath/simple-14",
1058        "fuzz/seed/xpath/simple-15",
1059        "fuzz/seed/xpath/simple-16",
1060        "fuzz/seed/xpath/simple-17",
1061        "fuzz/seed/xpath/simple-18",
1062        "fuzz/seed/xpath/simple-19",
1063        "fuzz/seed/xpath/simple-2",
1064        "fuzz/seed/xpath/simple-20",
1065        "fuzz/seed/xpath/simple-21",
1066        "fuzz/seed/xpath/simple-22",
1067        "fuzz/seed/xpath/simple-23",
1068        "fuzz/seed/xpath/simple-24",
1069        "fuzz/seed/xpath/simple-25",
1070        "fuzz/seed/xpath/simple-26",
1071        "fuzz/seed/xpath/simple-3",
1072        "fuzz/seed/xpath/simple-4",
1073        "fuzz/seed/xpath/simple-5",
1074        "fuzz/seed/xpath/simple-6",
1075        "fuzz/seed/xpath/simple-7",
1076        "fuzz/seed/xpath/simple-8",
1077        "fuzz/seed/xpath/simple-9",
1078        "fuzz/seed/xpath/str-1",
1079        "fuzz/seed/xpath/str-10",
1080        "fuzz/seed/xpath/str-11",
1081        "fuzz/seed/xpath/str-12",
1082        "fuzz/seed/xpath/str-13",
1083        "fuzz/seed/xpath/str-14",
1084        "fuzz/seed/xpath/str-15",
1085        "fuzz/seed/xpath/str-16",
1086        "fuzz/seed/xpath/str-17",
1087        "fuzz/seed/xpath/str-18",
1088        "fuzz/seed/xpath/str-19",
1089        "fuzz/seed/xpath/str-2",
1090        "fuzz/seed/xpath/str-20",
1091        "fuzz/seed/xpath/str-21",
1092        "fuzz/seed/xpath/str-22",
1093        "fuzz/seed/xpath/str-23",
1094        "fuzz/seed/xpath/str-3",
1095        "fuzz/seed/xpath/str-4",
1096        "fuzz/seed/xpath/str-5",
1097        "fuzz/seed/xpath/str-6",
1098        "fuzz/seed/xpath/str-7",
1099        "fuzz/seed/xpath/str-8",
1100        "fuzz/seed/xpath/str-9",
1101        "fuzz/seed/xpath/usr1-1",
1102        "fuzz/seed/xpath/vid-1",
1103        "fuzz/seed/xpath/vid-10",
1104        "fuzz/seed/xpath/vid-11",
1105        "fuzz/seed/xpath/vid-12",
1106        "fuzz/seed/xpath/vid-13",
1107        "fuzz/seed/xpath/vid-14",
1108        "fuzz/seed/xpath/vid-15",
1109        "fuzz/seed/xpath/vid-16",
1110        "fuzz/seed/xpath/vid-2",
1111        "fuzz/seed/xpath/vid-3",
1112        "fuzz/seed/xpath/vid-4",
1113        "fuzz/seed/xpath/vid-5",
1114        "fuzz/seed/xpath/vid-6",
1115        "fuzz/seed/xpath/vid-7",
1116        "fuzz/seed/xpath/vid-8",
1117        "fuzz/seed/xpath/vid-9",
1118    ],
1119}
1120
1121cc_fuzz {
1122    name: "libxml2_xpath_fuzzer",
1123    defaults: ["libxml2-fuzz-defaults"],
1124    srcs: [
1125        "fuzz/xpath.c",
1126    ],
1127    dictionary: "fuzz/xpath.dict",
1128    corpus: [":libxml2_xpath_fuzz_corpus"],
1129}
1130