Closed AnthonyGrondin closed 8 months ago
99% sure it's picking up your hosts sysroot instead of the ESP32's one because it removes all symbols like __NEWLIB__
I tried to re-generate the binding in WSL. It wasn't smooth since I had to bump bindgen to 0.66.1 (because of some libclang problems in the WSL installation - i.e. my libclang was "too new"). Then I had to adapt a few things in the code since bindgen now uses usize where it used u32 before. Nothing too dramatic - just annoying.
In the end it was all fine! There are definitely difference because of the different bindgen version but more like usize vs u32 and docs.
Given your diff it definitely picks up headers from your host's sysroot as it seems.
Missing things like __NEWLIB__
indicate that.
Do you have env-vars like C_INCLUDE_PATH
set? I think if you have, it will get picked up by bindgen
I think we should at some point bump the bindgen version but apparently, it's not causing your problems - so maybe one step after another
99% sure it's picking up your hosts sysroot instead of the ESP32's one because it removes all symbols like
__NEWLIB__
The format macro for the sysroot argument returns the following:
"--sysroot=/home/anthony/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8_4_0/riscv32-esp-elf/"
It seems to be picking the right path.
C_INCLUDE_PATH is also not set on my machine.
The type ones seem to be some upgrade / optimization, but yeah, some header ones are clearly missing when they shouldn't.
Really weird. Maybe it helps to set the clang target to riscv32imc like here: https://github.com/rust-lang/rust-bindgen/issues/1229#issuecomment-378494555 ?
I've opened https://github.com/esp-rs/esp-mbedtls/pull/15, sorry it's a bit noisy, but it attempts to bring most of the bindings and compilation into the Rust xtask.
This doesn't solve the original issue, but I think the fix could be implemented in this PR, if we end up finding what the bug is.
Really weird. Maybe it helps to set the clang target to riscv32imc like here: rust-lang/rust-bindgen#1229 (comment) ?
This doesn't seem to fix the issue on my side.
After thinking about it I think my testing on WSL in https://github.com/esp-rs/esp-mbedtls/issues/12#issuecomment-1702453610 wasn't really a good test since I had to update the bindgen
dependency. Maybe you could try bindgen
0.66.1? The bindings will be different because of the different version but if in the generated bindings there are symbols like __NEWLIB__
then it would be a success and we just need to adapt the code.
Other than that, I think there are ways on Linux to monitor which files get opened by a process - maybe that would at least help to see which header files it picks up on your system
Updating bingen
only seem to change the types due to it being a different version. The symbols like __NEWLIB__
seem to not change, so the bug is most likely in the build chain.
Using #15, my clang args are:
-I/home/anthony/programming/personal/esp-mbedtls/xtask/include/esp32c3/
-I/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/
-I/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/include
-I/home/anthony/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8_4_0/riscv32-esp-elf/riscv32-esp-elf/include/
--sysroot=/home/anthony/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8_4_0/riscv32-esp-elf/
--target=riscv32
Looking at strace during the binding generation, the only .h
related to mbedtls that is called is esp-mbedtls-sys/include/include.h
:
statx(AT_FDCWD, "/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/include/include.h", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=229, ...}) = 0
openat(AT_FDCWD, "/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/src/bindings.rs", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 3
Which clang should it be using, actually?
EDIT: I've added the bindgens preprocessed input dump (.dump_preprocessed_input()
instead of .generate()
) from a generation that produces the same result as originally described in the issue.
It is very noisy, but I believe if you generate a bindgen input dump on your side, and then diff on it, that could possibly highlight where the issue is at. __bindgen.c.log __bindgen.i.log
Ah I already see it, I guess. It's picking up headers from "/usr/lib/clang/15.0.7/include/"
- like stdint.h
and others
Maybe you have some of these env variables set?
Do you have LIBCLANG_PATH
set? I have it set to /home/bjoern/.rustup/toolchains/esp/xtensa-esp32-elf-clang/esp-16.0.0-20230516/esp-clang/lib
in WSL and unset in Windows. (I guess it doesn't make a difference then)
When I set LIBCLANG_PATH
to use esp clang, it always gives me those errors:
[2023-09-07T06:35:19Z INFO xtask] Generating bindings
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/bignum.h:176:10: error: unknown type name 'int32_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/bignum.h:177:9: error: unknown type name 'uint32_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/bignum.h:179:9: error: unknown type name 'uint64_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ecp.h:162:5: error: unknown type name 'uint16_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ecp.h:163:5: error: unknown type name 'uint16_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ecp.h:583:66: error: unknown type name 'uint16_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:385:5: error: unknown type name 'uint8_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:386:5: error: unknown type name 'uint8_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:387:5: error: unknown type name 'uint8_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:388:5: error: unknown type name 'uint8_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:390:5: error: unknown type name 'uint16_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:391:5: error: unknown type name 'uint16_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_platform.h:99:5: error: unknown type name 'uintptr_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:64:9: error: unknown type name 'int32_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:83:9: error: unknown type name 'uint16_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:102:9: error: unknown type name 'uint8_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:121:9: error: unknown type name 'uint8_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:139:9: error: unknown type name 'uint32_t'
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:188:9: error: unknown type name 'uint32_t'
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/bignum.h:176:10: error: unknown type name 'int32_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/bignum.h:177:9: error: unknown type name 'uint32_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/bignum.h:179:9: error: unknown type name 'uint64_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ecp.h:162:5: error: unknown type name 'uint16_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ecp.h:163:5: error: unknown type name 'uint16_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ecp.h:583:66: error: unknown type name 'uint16_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:385:5: error: unknown type name 'uint8_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:386:5: error: unknown type name 'uint8_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:387:5: error: unknown type name 'uint8_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:388:5: error: unknown type name 'uint8_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:390:5: error: unknown type name 'uint16_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/mbedtls/ssl_ciphersuites.h:391:5: error: unknown type name 'uint16_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_platform.h:99:5: error: unknown type name 'uintptr_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:64:9: error: unknown type name 'int32_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:83:9: error: unknown type name 'uint16_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:102:9: error: unknown type name 'uint8_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:121:9: error: unknown type name 'uint8_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:139:9: error: unknown type name 'uint32_t', err: true
/home/anthony/programming/personal/esp-mbedtls/esp-mbedtls-sys/../mbedtls/include/psa/crypto_types.h:188:9: error: unknown type name 'uint32_t', err: true
fatal error: too many errors emitted, stopping now [-ferror-limit=], err: true
Error: Failed to generate bindings
Updated version of bindgen will produce the same error.
Really strange.
I also lied about LIBCLANG on Windows. While the variable is not set, it's on my PATH:
C:\Users\Bjoern>where libclang.dll
C:\Users\Bjoern\.espressif\tools\xtensa-esp32-elf-clang\esp-12.0.1-20210914-x86_64-pc-windows-msvc\bin\libclang.dll
But it doesn't change anything since I just tested on WSL with LIBCLANG_PATH
unset and it generates correctly.
Also .dump_preprocessed_input()
shows it's picking up stdint.h
from /home/bjoern/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8_4_0/riscv32-esp-elf/riscv32-esp-elf/include/stdint.h
(the given sysroot)
It's weird, it's not picking up my sysroot in my case. Even when I set it in clang.
Tree of my sysroot. It looks like we have different content.:
/home/anthony/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8_4_0/riscv32-esp-elf/
└── lib
├── gcc
│ └── riscv32-esp-elf
│ └── 8.4.0
│ └── plugin
│ ├── gtype.state
│ ├── include
│ │ ├── ada
│ │ │ └── gcc-interface
│ │ │ └── ada-tree.def
│ │ ├── alias.h
│ │ ├── alloc-pool.h
│ │ ├── all-tree.def
│ │ ├── ansidecl.h
│ │ ├── attribs.h
│ │ ├── auto-host.h
│ │ ├── auto-profile.h
│ │ ├── backend.h
│ │ ├── basic-block.h
│ │ ├── bb-reorder.h
│ │ ├── b-header-vars
│ │ ├── bitmap.h
│ │ ├── brig-builtins.def
│ │ ├── builtin-attrs.def
│ │ ├── builtins.def
│ │ ├── builtins.h
│ │ ├── builtin-types.def
│ │ ├── bversion.h
│ │ ├── calls.h
│ │ ├── c-family
│ │ │ ├── c-common.def
│ │ │ ├── c-common.h
│ │ │ ├── c-objc.h
│ │ │ ├── c-pragma.h
│ │ │ └── c-pretty-print.h
│ │ ├── cfganal.h
│ │ ├── cfgbuild.h
│ │ ├── cfgcleanup.h
│ │ ├── cfg-flags.def
│ │ ├── cfg.h
│ │ ├── cfghooks.h
│ │ ├── cfgloop.h
│ │ ├── cfgloopmanip.h
│ │ ├── cfgrtl.h
│ │ ├── chkp-builtins.def
│ │ ├── cif-code.def
│ │ ├── collect2-aix.h
│ │ ├── collect2.h
│ │ ├── collect-utils.h
│ │ ├── config
│ │ │ ├── elfos.h
│ │ │ ├── initfini-array.h
│ │ │ ├── newlib-stdint.h
│ │ │ └── riscv
│ │ │ ├── elf.h
│ │ │ ├── riscv.h
│ │ │ ├── riscv-opts.h
│ │ │ └── riscv-protos.h
│ │ ├── configargs.h
│ │ ├── config.h
│ │ ├── context.h
│ │ ├── convert.h
│ │ ├── coretypes.h
│ │ ├── cppdefault.h
│ │ ├── cpplib.h
│ │ ├── cselib.h
│ │ ├── c-tree.h
│ │ ├── data-streamer.h
│ │ ├── dbgcnt.def
│ │ ├── dbgcnt.h
│ │ ├── dce.h
│ │ ├── ddg.h
│ │ ├── debug.h
│ │ ├── defaults.h
│ │ ├── df.h
│ │ ├── dfp.h
│ │ ├── diagnostic-color.h
│ │ ├── diagnostic.def
│ │ ├── dojump.h
│ │ ├── dominance.h
│ │ ├── domwalk.h
│ │ ├── dumpfile.h
│ │ ├── dwarf2out.h
│ │ ├── edit-context.h
│ │ ├── emit-rtl.h
│ │ ├── et-forest.h
│ │ ├── except.h
│ │ ├── explow.h
│ │ ├── expmed.h
│ │ ├── expr.h
│ │ ├── fibonacci_heap.h
│ │ ├── file-find.h
│ │ ├── filenames.h
│ │ ├── file-prefix-map.h
│ │ ├── fixed-value.h
│ │ ├── flags.h
│ │ ├── flag-types.h
│ │ ├── fold-const-call.h
│ │ ├── function.h
│ │ ├── gcc-rich-location.h
│ │ ├── gcc-symtab.h
│ │ ├── gcov-counter.def
│ │ ├── gcse-common.h
│ │ ├── gcse.h
│ │ ├── generic-match.h
│ │ ├── gengtype.h
│ │ ├── genrtl.h
│ │ ├── gimple-builder.h
│ │ ├── gimple.def
│ │ ├── gimple-expr.h
│ │ ├── gimple-fold.h
│ │ ├── gimple-low.h
│ │ ├── gimple-pretty-print.h
│ │ ├── gimple-ssa-evrp-analyze.h
│ │ ├── gimple-walk.h
│ │ ├── gimplify.h
│ │ ├── gimplify-me.h
│ │ ├── glimits.h
│ │ ├── graphds.h
│ │ ├── graph.h
│ │ ├── gsstruct.def
│ │ ├── gsyms.h
│ │ ├── gtm-builtins.def
│ │ ├── gtype-desc.h
│ │ ├── hard-reg-set.h
│ │ ├── hash-map.h
│ │ ├── hash-map-traits.h
│ │ ├── hash-set.h
│ │ ├── hashtab.h
│ │ ├── hash-table.h
│ │ ├── hash-traits.h
│ │ ├── highlev-plugin-common.h
│ │ ├── hooks.h
│ │ ├── hosthooks-def.h
│ │ ├── hosthooks.h
│ │ ├── hsa-builtins.def
│ │ ├── hsa-common.h
│ │ ├── hw-doloop.h
│ │ ├── hwint.h
│ │ ├── ifcvt.h
│ │ ├── inchash.h
│ │ ├── incpath.h
│ │ ├── input.h
│ │ ├── insn-addr.h
│ │ ├── insn-codes.h
│ │ ├── insn-constants.h
│ │ ├── insn-flags.h
│ │ ├── insn-modes.h
│ │ ├── insn-modes-inline.h
│ │ ├── insn-notes.def
│ │ ├── internal-fn.def
│ │ ├── internal-fn.h
│ │ ├── int-vector-builder.h
│ │ ├── ipa-chkp.h
│ │ ├── ipa-icf-gimple.h
│ │ ├── ipa-inline.h
│ │ ├── ipa-predicate.h
│ │ ├── ipa-ref.h
│ │ ├── ipa-utils.h
│ │ ├── ira.h
│ │ ├── ira-int.h
│ │ ├── is-a.h
│ │ ├── langhooks.h
│ │ ├── lcm.h
│ │ ├── libfuncs.h
│ │ ├── limity.h
│ │ ├── line-map.h
│ │ ├── loop-unroll.h
│ │ ├── lower-subreg.h
│ │ ├── lra.h
│ │ ├── lra-int.h
│ │ ├── lto-section-names.h
│ │ ├── lto-streamer.h
│ │ ├── machmode.h
│ │ ├── md5.h
│ │ ├── memmodel.h
│ │ ├── memory-block.h
│ │ ├── mem-stats-traits.h
│ │ ├── mode-classes.def
│ │ ├── objc
│ │ │ └── objc-tree.def
│ │ ├── obstack.h
│ │ ├── omp-builtins.def
│ │ ├── omp-expand.h
│ │ ├── omp-general.h
│ │ ├── omp-grid.h
│ │ ├── omp-low.h
│ │ ├── omp-simd-clone.h
│ │ ├── optabs.def
│ │ ├── optabs.h
│ │ ├── optabs-libfuncs.h
│ │ ├── optabs-tree.h
│ │ ├── options.h
│ │ ├── opts.h
│ │ ├── output.h
│ │ ├── params.def
│ │ ├── params.h
│ │ ├── params.list
│ │ ├── params-options.h
│ │ ├── passes.def
│ │ ├── pass-instances.def
│ │ ├── pass_manager.h
│ │ ├── plugin.def
│ │ ├── plugin.h
│ │ ├── plugin-version.h
│ │ ├── poly-int-types.h
│ │ ├── prefix.h
│ │ ├── pretty-print.h
│ │ ├── print-rtl.h
│ │ ├── print-tree.h
│ │ ├── profile-count.h
│ │ ├── read-md.h
│ │ ├── real.h
│ │ ├── realmpfr.h
│ │ ├── recog.h
│ │ ├── reg-notes.def
│ │ ├── regrename.h
│ │ ├── regs.h
│ │ ├── reload.h
│ │ ├── rtl-chkp.h
│ │ ├── rtl.def
│ │ ├── rtl-error.h
│ │ ├── rtl.h
│ │ ├── rtlhooks-def.h
│ │ ├── rtl-iter.h
│ │ ├── run-rtl-passes.h
│ │ ├── safe-ctype.h
│ │ ├── sanitizer.def
│ │ ├── sbitmap.h
│ │ ├── sched-int.h
│ │ ├── selftest-diagnostic.h
│ │ ├── selftest-rtl.h
│ │ ├── sel-sched-dump.h
│ │ ├── sel-sched.h
│ │ ├── sel-sched-ir.h
│ │ ├── sese.h
│ │ ├── shrink-wrap.h
│ │ ├── signop.h
│ │ ├── sparseset.h
│ │ ├── spellcheck.h
│ │ ├── spellcheck-tree.h
│ │ ├── splay-tree.h
│ │ ├── sreal.h
│ │ ├── ssa.h
│ │ ├── stab.def
│ │ ├── statistics.h
│ │ ├── stmt.h
│ │ ├── stor-layout.h
│ │ ├── streamer-hooks.h
│ │ ├── substring-locations.h
│ │ ├── symbol-summary.h
│ │ ├── sync-builtins.def
│ │ ├── system.h
│ │ ├── target.def
│ │ ├── target-def.h
│ │ ├── target-globals.h
│ │ ├── target.h
│ │ ├── target-hooks-macros.h
│ │ ├── target-insns.def
│ │ ├── targhooks.h
│ │ ├── timevar.def
│ │ ├── timevar.h
│ │ ├── tm_p.h
│ │ ├── tm-preds.h
│ │ ├── toplev.h
│ │ ├── tracer.h
│ │ ├── tree-affine.h
│ │ ├── tree-cfgcleanup.h
│ │ ├── tree-cfg.h
│ │ ├── tree-check.h
│ │ ├── tree-chkp.h
│ │ ├── tree-chrec.h
│ │ ├── tree-data-ref.h
│ │ ├── tree.def
│ │ ├── tree-diagnostic.h
│ │ ├── tree-eh.h
│ │ ├── tree.h
│ │ ├── tree-hasher.h
│ │ ├── tree-if-conv.h
│ │ ├── tree-iterator.h
│ │ ├── tree-nested.h
│ │ ├── tree-object-size.h
│ │ ├── tree-outof-ssa.h
│ │ ├── tree-parloops.h
│ │ ├── tree-pass.h
│ │ ├── tree-phinodes.h
│ │ ├── tree-pretty-print.h
│ │ ├── tree-scalar-evolution.h
│ │ ├── tree-ssa-coalesce.h
│ │ ├── tree-ssa-dce.h
│ │ ├── tree-ssa-dom.h
│ │ ├── tree-ssa.h
│ │ ├── tree-ssa-live.h
│ │ ├── tree-ssa-loop-ivopts.h
│ │ ├── tree-ssa-loop-manip.h
│ │ ├── tree-ssa-loop-niter.h
│ │ ├── tree-ssanames.h
│ │ ├── tree-ssa-operands.h
│ │ ├── tree-ssa-propagate.h
│ │ ├── tree-ssa-sccvn.h
│ │ ├── tree-ssa-scopedtables.h
│ │ ├── tree-ssa-strlen.h
│ │ ├── tree-ssa-ter.h
│ │ ├── tree-ssa-threadedge.h
│ │ ├── tree-ssa-threadupdate.h
│ │ ├── tree-stdarg.h
│ │ ├── tree-streamer.h
│ │ ├── tree-vector-builder.h
│ │ ├── tree-vectorizer.h
│ │ ├── tree-vrp.h
│ │ ├── tsan.h
│ │ ├── typeclass.h
│ │ ├── typed-splay-tree.h
│ │ ├── ubsan.h
│ │ ├── valtrack.h
│ │ ├── value-prof.h
│ │ ├── varasm.h
│ │ ├── vec.h
│ │ ├── vec-perm-indices.h
│ │ ├── version.h
│ │ ├── vmsdbg.h
│ │ ├── vr-values.h
│ │ ├── vtable-verify.h
│ │ ├── wide-int-bitmask.h
│ │ ├── wide-int.h
│ │ ├── wide-int-print.h
│ │ ├── xcoff.h
│ │ └── xcoffout.h
│ ├── libcc1plugin.so -> libcc1plugin.so.0.0.0
│ ├── libcc1plugin.so.0 -> libcc1plugin.so.0.0.0
│ ├── libcc1plugin.so.0.0.0
│ ├── libcp1plugin.so -> libcp1plugin.so.0.0.0
│ ├── libcp1plugin.so.0 -> libcp1plugin.so.0.0.0
│ └── libcp1plugin.so.0.0.0
├── ldscripts
│ ├── elf32lriscv.x
│ ├── elf32lriscv.xbn
│ ├── elf32lriscv.xc
│ ├── elf32lriscv.xce
│ ├── elf32lriscv.xd
│ ├── elf32lriscv.xdc
│ ├── elf32lriscv.xdce
│ ├── elf32lriscv.xde
│ ├── elf32lriscv.xdw
│ ├── elf32lriscv.xdwe
│ ├── elf32lriscv.xe
│ ├── elf32lriscv.xn
│ ├── elf32lriscv.xr
│ ├── elf32lriscv.xs
│ ├── elf32lriscv.xsc
│ ├── elf32lriscv.xsce
│ ├── elf32lriscv.xse
│ ├── elf32lriscv.xsw
│ ├── elf32lriscv.xswe
│ ├── elf32lriscv.xu
│ ├── elf32lriscv.xw
│ ├── elf32lriscv.xwe
│ ├── elf64lriscv.x
│ ├── elf64lriscv.xbn
│ ├── elf64lriscv.xc
│ ├── elf64lriscv.xce
│ ├── elf64lriscv.xd
│ ├── elf64lriscv.xdc
│ ├── elf64lriscv.xdce
│ ├── elf64lriscv.xde
│ ├── elf64lriscv.xdw
│ ├── elf64lriscv.xdwe
│ ├── elf64lriscv.xe
│ ├── elf64lriscv.xn
│ ├── elf64lriscv.xr
│ ├── elf64lriscv.xs
│ ├── elf64lriscv.xsc
│ ├── elf64lriscv.xsce
│ ├── elf64lriscv.xse
│ ├── elf64lriscv.xsw
│ ├── elf64lriscv.xswe
│ ├── elf64lriscv.xu
│ ├── elf64lriscv.xw
│ └── elf64lriscv.xwe
├── libcc1.so -> libcc1.so.0.0.0
├── libcc1.so.0 -> libcc1.so.0.0.0
└── libcc1.so.0.0.0
14 directories, 369 files
Oh, that's the solution! Seems clang doesn't see the expected directory structure and instead of giving an error it uses a different sysroot.
For me it looks like this
/home/bjoern/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8_4_0/riscv32-esp-elf/riscv32-esp-elf/
├── bin
│ ├── ar
│ ├── as
│ ├── ld
│ ├── ld.bfd
│ ├── nm
│ ├── objcopy
│ ├── objdump
│ ├── ranlib
│ ├── readelf
│ └── strip
├── include
│ ├── _ansi.h
│ ├── _newlib_version.h
│ ├── _syslist.h
│ ├── alloca.h
│ ├── ar.h
│ ├── argz.h
│ ├── assert.h
│ ├── bits
│ ├── c++
│ │ └── 8.4.0
│ │ ├── algorithm
│ │ ├── any
│ │ ├── array
│ │ ├── atomic
│ │ ├── backward
│ │ │ ├── auto_ptr.h
│ │ │ ├── backward_warning.h
│ │ │ ├── binders.h
│ │ │ ├── hash_fun.h
│ │ │ ├── hash_map
│ │ │ ├── hash_set
│ │ │ ├── hashtable.h
│ │ │ └── strstream
│ │ ├── bits
│ │ │ ├── algorithmfwd.h
│ │ │ ├── alloc_traits.h
│ │ │ ├── allocated_ptr.h
│ │ │ ├── allocator.h
│ │ │ ├── atomic_base.h
│ │ │ ├── atomic_futex.h
│ │ │ ├── atomic_lockfree_defines.h
│ │ │ ├── basic_ios.h
│ │ │ ├── basic_ios.tcc
│ │ │ ├── basic_string.h
│ │ │ ├── basic_string.tcc
│ │ │ ├── boost_concept_check.h
│ │ │ ├── c++0x_warning.h
│ │ │ ├── char_traits.h
│ │ │ ├── codecvt.h
│ │ │ ├── concept_check.h
│ │ │ ├── cpp_type_traits.h
│ │ │ ├── cxxabi_forced.h
│ │ │ ├── cxxabi_init_exception.h
│ │ │ ├── deque.tcc
│ │ │ ├── enable_special_members.h
│ │ │ ├── exception.h
│ │ │ ├── exception_defines.h
│ │ │ ├── exception_ptr.h
│ │ │ ├── forward_list.h
│ │ │ ├── forward_list.tcc
│ │ │ ├── fs_dir.h
│ │ │ ├── fs_fwd.h
│ │ │ ├── fs_ops.h
│ │ │ ├── fs_path.h
│ │ │ ├── fstream.tcc
│ │ │ ├── functexcept.h
│ │ │ ├── functional_hash.h
│ │ │ ├── gslice.h
│ │ │ ├── gslice_array.h
│ │ │ ├── hash_bytes.h
│ │ │ ├── hashtable.h
│ │ │ ├── hashtable_policy.h
│ │ │ ├── indirect_array.h
│ │ │ ├── invoke.h
│ │ │ ├── ios_base.h
│ │ │ ├── istream.tcc
│ │ │ ├── list.tcc
│ │ │ ├── locale_classes.h
│ │ │ ├── locale_classes.tcc
│ │ │ ├── locale_conv.h
│ │ │ ├── locale_facets.h
│ │ │ ├── locale_facets.tcc
│ │ │ ├── locale_facets_nonio.h
│ │ │ ├── locale_facets_nonio.tcc
│ │ │ ├── localefwd.h
│ │ │ ├── mask_array.h
│ │ │ ├── memoryfwd.h
│ │ │ ├── move.h
│ │ │ ├── nested_exception.h
│ │ │ ├── node_handle.h
│ │ │ ├── ostream.tcc
│ │ │ ├── ostream_insert.h
│ │ │ ├── parse_numbers.h
│ │ │ ├── postypes.h
│ │ │ ├── predefined_ops.h
│ │ │ ├── ptr_traits.h
│ │ │ ├── quoted_string.h
│ │ │ ├── random.h
│ │ │ ├── random.tcc
│ │ │ ├── range_access.h
│ │ │ ├── refwrap.h
│ │ │ ├── regex.h
│ │ │ ├── regex.tcc
│ │ │ ├── regex_automaton.h
│ │ │ ├── regex_automaton.tcc
│ │ │ ├── regex_compiler.h
│ │ │ ├── regex_compiler.tcc
│ │ │ ├── regex_constants.h
│ │ │ ├── regex_error.h
│ │ │ ├── regex_executor.h
│ │ │ ├── regex_executor.tcc
│ │ │ ├── regex_scanner.h
│ │ │ ├── regex_scanner.tcc
│ │ │ ├── shared_ptr.h
│ │ │ ├── shared_ptr_atomic.h
│ │ │ ├── shared_ptr_base.h
│ │ │ ├── slice_array.h
│ │ │ ├── specfun.h
│ │ │ ├── sstream.tcc
│ │ │ ├── std_abs.h
│ │ │ ├── std_function.h
│ │ │ ├── std_mutex.h
│ │ │ ├── stl_algo.h
│ │ │ ├── stl_algobase.h
│ │ │ ├── stl_bvector.h
│ │ │ ├── stl_construct.h
│ │ │ ├── stl_deque.h
│ │ │ ├── stl_function.h
│ │ │ ├── stl_heap.h
│ │ │ ├── stl_iterator.h
│ │ │ ├── stl_iterator_base_funcs.h
│ │ │ ├── stl_iterator_base_types.h
│ │ │ ├── stl_list.h
│ │ │ ├── stl_map.h
│ │ │ ├── stl_multimap.h
│ │ │ ├── stl_multiset.h
│ │ │ ├── stl_numeric.h
│ │ │ ├── stl_pair.h
│ │ │ ├── stl_queue.h
│ │ │ ├── stl_raw_storage_iter.h
│ │ │ ├── stl_relops.h
│ │ │ ├── stl_set.h
│ │ │ ├── stl_stack.h
│ │ │ ├── stl_tempbuf.h
│ │ │ ├── stl_tree.h
│ │ │ ├── stl_uninitialized.h
│ │ │ ├── stl_vector.h
│ │ │ ├── stream_iterator.h
│ │ │ ├── streambuf.tcc
│ │ │ ├── streambuf_iterator.h
│ │ │ ├── string_view.tcc
│ │ │ ├── stringfwd.h
│ │ │ ├── uniform_int_dist.h
│ │ │ ├── unique_ptr.h
│ │ │ ├── unordered_map.h
│ │ │ ├── unordered_set.h
│ │ │ ├── uses_allocator.h
│ │ │ ├── valarray_after.h
│ │ │ ├── valarray_array.h
│ │ │ ├── valarray_array.tcc
│ │ │ ├── valarray_before.h
│ │ │ └── vector.tcc
│ │ ├── bitset
│ │ ├── cassert
│ │ ├── ccomplex
│ │ ├── cctype
│ │ ├── cerrno
│ │ ├── cfenv
│ │ ├── cfloat
│ │ ├── charconv
│ │ ├── chrono
│ │ ├── cinttypes
│ │ ├── ciso646
│ │ ├── climits
│ │ ├── clocale
│ │ ├── cmath
│ │ ├── codecvt
│ │ ├── complex
│ │ ├── complex.h
│ │ ├── condition_variable
│ │ ├── csetjmp
│ │ ├── csignal
│ │ ├── cstdalign
│ │ ├── cstdarg
│ │ ├── cstdbool
│ │ ├── cstddef
│ │ ├── cstdint
│ │ ├── cstdio
│ │ ├── cstdlib
│ │ ├── cstring
│ │ ├── ctgmath
│ │ ├── ctime
│ │ ├── cuchar
│ │ ├── cwchar
│ │ ├── cwctype
│ │ ├── cxxabi.h
│ │ ├── debug
│ │ │ ├── array
│ │ │ ├── assertions.h
│ │ │ ├── bitset
│ │ │ ├── debug.h
│ │ │ ├── deque
│ │ │ ├── formatter.h
│ │ │ ├── forward_list
│ │ │ ├── functions.h
│ │ │ ├── helper_functions.h
│ │ │ ├── list
│ │ │ ├── macros.h
│ │ │ ├── map
│ │ │ ├── map.h
│ │ │ ├── multimap.h
│ │ │ ├── multiset.h
│ │ │ ├── safe_base.h
│ │ │ ├── safe_container.h
│ │ │ ├── safe_iterator.h
│ │ │ ├── safe_iterator.tcc
│ │ │ ├── safe_local_iterator.h
│ │ │ ├── safe_local_iterator.tcc
│ │ │ ├── safe_sequence.h
│ │ │ ├── safe_sequence.tcc
│ │ │ ├── safe_unordered_base.h
│ │ │ ├── safe_unordered_container.h
│ │ │ ├── safe_unordered_container.tcc
│ │ │ ├── set
│ │ │ ├── set.h
│ │ │ ├── stl_iterator.h
│ │ │ ├── string
│ │ │ ├── unordered_map
│ │ │ ├── unordered_set
│ │ │ └── vector
│ │ ├── decimal
│ │ │ ├── decimal
│ │ │ └── decimal.h
│ │ ├── deque
│ │ ├── exception
│ │ ├── experimental
│ │ │ ├── algorithm
│ │ │ ├── any
│ │ │ ├── array
│ │ │ ├── bits
│ │ │ │ ├── erase_if.h
│ │ │ │ ├── lfts_config.h
│ │ │ │ ├── shared_ptr.h
│ │ │ │ └── string_view.tcc
│ │ │ ├── chrono
│ │ │ ├── deque
│ │ │ ├── forward_list
│ │ │ ├── functional
│ │ │ ├── iterator
│ │ │ ├── list
│ │ │ ├── map
│ │ │ ├── memory
│ │ │ ├── memory_resource
│ │ │ ├── numeric
│ │ │ ├── optional
│ │ │ ├── propagate_const
│ │ │ ├── random
│ │ │ ├── ratio
│ │ │ ├── regex
│ │ │ ├── set
│ │ │ ├── source_location
│ │ │ ├── string
│ │ │ ├── string_view
│ │ │ ├── system_error
│ │ │ ├── tuple
│ │ │ ├── type_traits
│ │ │ ├── unordered_map
│ │ │ ├── unordered_set
│ │ │ ├── utility
│ │ │ └── vector
│ │ ├── ext
│ │ │ ├── algorithm
│ │ │ ├── aligned_buffer.h
│ │ │ ├── alloc_traits.h
│ │ │ ├── array_allocator.h
│ │ │ ├── atomicity.h
│ │ │ ├── bitmap_allocator.h
│ │ │ ├── cast.h
│ │ │ ├── cmath
│ │ │ ├── codecvt_specializations.h
│ │ │ ├── concurrence.h
│ │ │ ├── debug_allocator.h
│ │ │ ├── enc_filebuf.h
│ │ │ ├── extptr_allocator.h
│ │ │ ├── functional
│ │ │ ├── hash_map
│ │ │ ├── hash_set
│ │ │ ├── iterator
│ │ │ ├── malloc_allocator.h
│ │ │ ├── memory
│ │ │ ├── mt_allocator.h
│ │ │ ├── new_allocator.h
│ │ │ ├── numeric
│ │ │ ├── numeric_traits.h
│ │ │ ├── pb_ds
│ │ │ │ ├── assoc_container.hpp
│ │ │ │ ├── detail
│ │ │ │ │ ├── bin_search_tree_
│ │ │ │ │ │ ├── bin_search_tree_.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── node_iterators.hpp
│ │ │ │ │ │ ├── point_iterators.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── r_erase_fn_imps.hpp
│ │ │ │ │ │ ├── rotate_fn_imps.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── binary_heap_
│ │ │ │ │ │ ├── binary_heap_.hpp
│ │ │ │ │ │ ├── const_iterator.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── entry_cmp.hpp
│ │ │ │ │ │ ├── entry_pred.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── point_const_iterator.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── resize_policy.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── binomial_heap_
│ │ │ │ │ │ ├── binomial_heap_.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ └── debug_fn_imps.hpp
│ │ │ │ │ ├── binomial_heap_base_
│ │ │ │ │ │ ├── binomial_heap_base_.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ └── split_join_fn_imps.hpp
│ │ │ │ │ ├── branch_policy
│ │ │ │ │ │ ├── branch_policy.hpp
│ │ │ │ │ │ ├── null_node_metadata.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── cc_hash_table_map_
│ │ │ │ │ │ ├── cc_ht_map_.hpp
│ │ │ │ │ │ ├── cmp_fn_imps.hpp
│ │ │ │ │ │ ├── cond_key_dtor_entry_dealtor.hpp
│ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── debug_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── entry_list_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── erase_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── erase_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── find_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── insert_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── insert_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── resize_fn_imps.hpp
│ │ │ │ │ │ ├── resize_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── resize_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── size_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── cond_dealtor.hpp
│ │ │ │ │ ├── container_base_dispatch.hpp
│ │ │ │ │ ├── debug_map_base.hpp
│ │ │ │ │ ├── eq_fn
│ │ │ │ │ │ ├── eq_by_less.hpp
│ │ │ │ │ │ └── hash_eq_fn.hpp
│ │ │ │ │ ├── gp_hash_table_map_
│ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── debug_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── erase_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── erase_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── find_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── find_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── gp_ht_map_.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── insert_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── insert_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── iterator_fn_imps.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── resize_fn_imps.hpp
│ │ │ │ │ │ ├── resize_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── resize_store_hash_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── hash_fn
│ │ │ │ │ │ ├── direct_mask_range_hashing_imp.hpp
│ │ │ │ │ │ ├── direct_mod_range_hashing_imp.hpp
│ │ │ │ │ │ ├── linear_probe_fn_imp.hpp
│ │ │ │ │ │ ├── mask_based_range_hashing.hpp
│ │ │ │ │ │ ├── mod_based_range_hashing.hpp
│ │ │ │ │ │ ├── probe_fn_base.hpp
│ │ │ │ │ │ ├── quadratic_probe_fn_imp.hpp
│ │ │ │ │ │ ├── ranged_hash_fn.hpp
│ │ │ │ │ │ ├── ranged_probe_fn.hpp
│ │ │ │ │ │ ├── sample_probe_fn.hpp
│ │ │ │ │ │ ├── sample_range_hashing.hpp
│ │ │ │ │ │ ├── sample_ranged_hash_fn.hpp
│ │ │ │ │ │ └── sample_ranged_probe_fn.hpp
│ │ │ │ │ ├── left_child_next_sibling_heap_
│ │ │ │ │ │ ├── const_iterator.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── left_child_next_sibling_heap_.hpp
│ │ │ │ │ │ ├── node.hpp
│ │ │ │ │ │ ├── point_const_iterator.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── list_update_map_
│ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── entry_metadata_base.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── lu_map_.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── list_update_policy
│ │ │ │ │ │ ├── lu_counter_metadata.hpp
│ │ │ │ │ │ └── sample_update_policy.hpp
│ │ │ │ │ ├── ov_tree_map_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── node_iterators.hpp
│ │ │ │ │ │ ├── ov_tree_map_.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── pairing_heap_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── pairing_heap_.hpp
│ │ │ │ │ │ └── split_join_fn_imps.hpp
│ │ │ │ │ ├── pat_trie_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_join_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── pat_trie_.hpp
│ │ │ │ │ │ ├── pat_trie_base.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── r_erase_fn_imps.hpp
│ │ │ │ │ │ ├── rotate_fn_imps.hpp
│ │ │ │ │ │ ├── split_fn_imps.hpp
│ │ │ │ │ │ ├── synth_access_traits.hpp
│ │ │ │ │ │ ├── trace_fn_imps.hpp
│ │ │ │ │ │ ├── traits.hpp
│ │ │ │ │ │ └── update_fn_imps.hpp
│ │ │ │ │ ├── priority_queue_base_dispatch.hpp
│ │ │ │ │ ├── rb_tree_map_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── node.hpp
│ │ │ │ │ │ ├── rb_tree_.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── rc_binomial_heap_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── rc.hpp
│ │ │ │ │ │ ├── rc_binomial_heap_.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── resize_policy
│ │ │ │ │ │ ├── cc_hash_max_collision_check_resize_trigger_imp.hpp
│ │ │ │ │ │ ├── hash_exponential_size_policy_imp.hpp
│ │ │ │ │ │ ├── hash_load_check_resize_trigger_imp.hpp
│ │ │ │ │ │ ├── hash_load_check_resize_trigger_size_base.hpp
│ │ │ │ │ │ ├── hash_prime_size_policy_imp.hpp
│ │ │ │ │ │ ├── hash_standard_resize_policy_imp.hpp
│ │ │ │ │ │ ├── sample_resize_policy.hpp
│ │ │ │ │ │ ├── sample_resize_trigger.hpp
│ │ │ │ │ │ └── sample_size_policy.hpp
│ │ │ │ │ ├── splay_tree_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── node.hpp
│ │ │ │ │ │ ├── splay_fn_imps.hpp
│ │ │ │ │ │ ├── splay_tree_.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── standard_policies.hpp
│ │ │ │ │ ├── thin_heap_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ ├── thin_heap_.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── tree_policy
│ │ │ │ │ │ ├── node_metadata_selector.hpp
│ │ │ │ │ │ ├── order_statistics_imp.hpp
│ │ │ │ │ │ └── sample_tree_node_update.hpp
│ │ │ │ │ ├── tree_trace_base.hpp
│ │ │ │ │ ├── trie_policy
│ │ │ │ │ │ ├── node_metadata_selector.hpp
│ │ │ │ │ │ ├── order_statistics_imp.hpp
│ │ │ │ │ │ ├── prefix_search_node_update_imp.hpp
│ │ │ │ │ │ ├── sample_trie_access_traits.hpp
│ │ │ │ │ │ ├── sample_trie_node_update.hpp
│ │ │ │ │ │ ├── trie_policy_base.hpp
│ │ │ │ │ │ └── trie_string_access_traits_imp.hpp
│ │ │ │ │ ├── type_utils.hpp
│ │ │ │ │ ├── types_traits.hpp
│ │ │ │ │ └── unordered_iterator
│ │ │ │ │ ├── const_iterator.hpp
│ │ │ │ │ ├── iterator.hpp
│ │ │ │ │ ├── point_const_iterator.hpp
│ │ │ │ │ └── point_iterator.hpp
│ │ │ │ ├── exception.hpp
│ │ │ │ ├── hash_policy.hpp
│ │ │ │ ├── list_update_policy.hpp
│ │ │ │ ├── priority_queue.hpp
│ │ │ │ ├── tag_and_trait.hpp
│ │ │ │ ├── tree_policy.hpp
│ │ │ │ └── trie_policy.hpp
│ │ │ ├── pod_char_traits.h
│ │ │ ├── pointer.h
│ │ │ ├── pool_allocator.h
│ │ │ ├── random
│ │ │ ├── random.tcc
│ │ │ ├── rb_tree
│ │ │ ├── rc_string_base.h
│ │ │ ├── rope
│ │ │ ├── ropeimpl.h
│ │ │ ├── slist
│ │ │ ├── sso_string_base.h
│ │ │ ├── stdio_filebuf.h
│ │ │ ├── stdio_sync_filebuf.h
│ │ │ ├── string_conversions.h
│ │ │ ├── throw_allocator.h
│ │ │ ├── type_traits.h
│ │ │ ├── typelist.h
│ │ │ ├── vstring.h
│ │ │ ├── vstring.tcc
│ │ │ ├── vstring_fwd.h
│ │ │ └── vstring_util.h
│ │ ├── fenv.h
│ │ ├── filesystem
│ │ ├── forward_list
│ │ ├── fstream
│ │ ├── functional
│ │ ├── future
│ │ ├── initializer_list
│ │ ├── iomanip
│ │ ├── ios
│ │ ├── iosfwd
│ │ ├── iostream
│ │ ├── istream
│ │ ├── iterator
│ │ ├── limits
│ │ ├── list
│ │ ├── locale
│ │ ├── map
│ │ ├── math.h
│ │ ├── memory
│ │ ├── mutex
│ │ ├── new
│ │ ├── numeric
│ │ ├── optional
│ │ ├── ostream
│ │ ├── parallel
│ │ │ ├── algo.h
│ │ │ ├── algobase.h
│ │ │ ├── algorithm
│ │ │ ├── algorithmfwd.h
│ │ │ ├── balanced_quicksort.h
│ │ │ ├── base.h
│ │ │ ├── basic_iterator.h
│ │ │ ├── checkers.h
│ │ │ ├── compatibility.h
│ │ │ ├── compiletime_settings.h
│ │ │ ├── equally_split.h
│ │ │ ├── features.h
│ │ │ ├── find.h
│ │ │ ├── find_selectors.h
│ │ │ ├── for_each.h
│ │ │ ├── for_each_selectors.h
│ │ │ ├── iterator.h
│ │ │ ├── list_partition.h
│ │ │ ├── losertree.h
│ │ │ ├── merge.h
│ │ │ ├── multiseq_selection.h
│ │ │ ├── multiway_merge.h
│ │ │ ├── multiway_mergesort.h
│ │ │ ├── numeric
│ │ │ ├── numericfwd.h
│ │ │ ├── omp_loop.h
│ │ │ ├── omp_loop_static.h
│ │ │ ├── par_loop.h
│ │ │ ├── parallel.h
│ │ │ ├── partial_sum.h
│ │ │ ├── partition.h
│ │ │ ├── queue.h
│ │ │ ├── quicksort.h
│ │ │ ├── random_number.h
│ │ │ ├── random_shuffle.h
│ │ │ ├── search.h
│ │ │ ├── set_operations.h
│ │ │ ├── settings.h
│ │ │ ├── sort.h
│ │ │ ├── tags.h
│ │ │ ├── types.h
│ │ │ ├── unique_copy.h
│ │ │ └── workstealing.h
│ │ ├── profile
│ │ │ ├── array
│ │ │ ├── base.h
│ │ │ ├── bitset
│ │ │ ├── deque
│ │ │ ├── forward_list
│ │ │ ├── impl
│ │ │ │ ├── profiler.h
│ │ │ │ ├── profiler_algos.h
│ │ │ │ ├── profiler_container_size.h
│ │ │ │ ├── profiler_hash_func.h
│ │ │ │ ├── profiler_hashtable_size.h
│ │ │ │ ├── profiler_list_to_slist.h
│ │ │ │ ├── profiler_list_to_vector.h
│ │ │ │ ├── profiler_map_to_unordered_map.h
│ │ │ │ ├── profiler_node.h
│ │ │ │ ├── profiler_state.h
│ │ │ │ ├── profiler_trace.h
│ │ │ │ ├── profiler_vector_size.h
│ │ │ │ └── profiler_vector_to_list.h
│ │ │ ├── iterator_tracker.h
│ │ │ ├── list
│ │ │ ├── map
│ │ │ ├── map.h
│ │ │ ├── multimap.h
│ │ │ ├── multiset.h
│ │ │ ├── ordered_base.h
│ │ │ ├── set
│ │ │ ├── set.h
│ │ │ ├── unordered_base.h
│ │ │ ├── unordered_map
│ │ │ ├── unordered_set
│ │ │ └── vector
│ │ ├── queue
│ │ ├── random
│ │ ├── ratio
│ │ ├── regex
│ │ ├── riscv32-esp-elf
│ │ │ ├── bits
│ │ │ │ ├── atomic_word.h
│ │ │ │ ├── basic_file.h
│ │ │ │ ├── c++allocator.h
│ │ │ │ ├── c++config.h
│ │ │ │ ├── c++io.h
│ │ │ │ ├── c++locale.h
│ │ │ │ ├── cpu_defines.h
│ │ │ │ ├── ctype_base.h
│ │ │ │ ├── ctype_inline.h
│ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ ├── error_constants.h
│ │ │ │ ├── extc++.h
│ │ │ │ ├── gthr-default.h
│ │ │ │ ├── gthr-posix.h
│ │ │ │ ├── gthr-single.h
│ │ │ │ ├── gthr.h
│ │ │ │ ├── messages_members.h
│ │ │ │ ├── opt_random.h
│ │ │ │ ├── os_defines.h
│ │ │ │ ├── stdc++.h
│ │ │ │ ├── stdtr1c++.h
│ │ │ │ └── time_members.h
│ │ │ ├── ext
│ │ │ │ └── opt_random.h
│ │ │ ├── no-rtti
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ └── ext
│ │ │ │ └── opt_random.h
│ │ │ ├── rv32i
│ │ │ │ └── ilp32
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ ├── ext
│ │ │ │ │ └── opt_random.h
│ │ │ │ └── no-rtti
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ └── ext
│ │ │ │ └── opt_random.h
│ │ │ ├── rv32imafc
│ │ │ │ └── ilp32f
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ ├── ext
│ │ │ │ │ └── opt_random.h
│ │ │ │ └── no-rtti
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ └── ext
│ │ │ │ └── opt_random.h
│ │ │ └── rv32imc
│ │ │ └── ilp32
│ │ │ ├── bits
│ │ │ │ ├── atomic_word.h
│ │ │ │ ├── basic_file.h
│ │ │ │ ├── c++allocator.h
│ │ │ │ ├── c++config.h
│ │ │ │ ├── c++io.h
│ │ │ │ ├── c++locale.h
│ │ │ │ ├── cpu_defines.h
│ │ │ │ ├── ctype_base.h
│ │ │ │ ├── ctype_inline.h
│ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ ├── error_constants.h
│ │ │ │ ├── extc++.h
│ │ │ │ ├── gthr-default.h
│ │ │ │ ├── gthr-posix.h
│ │ │ │ ├── gthr-single.h
│ │ │ │ ├── gthr.h
│ │ │ │ ├── messages_members.h
│ │ │ │ ├── opt_random.h
│ │ │ │ ├── os_defines.h
│ │ │ │ ├── stdc++.h
│ │ │ │ ├── stdtr1c++.h
│ │ │ │ └── time_members.h
│ │ │ ├── ext
│ │ │ │ └── opt_random.h
│ │ │ └── no-rtti
│ │ │ ├── bits
│ │ │ │ ├── atomic_word.h
│ │ │ │ ├── basic_file.h
│ │ │ │ ├── c++allocator.h
│ │ │ │ ├── c++config.h
│ │ │ │ ├── c++io.h
│ │ │ │ ├── c++locale.h
│ │ │ │ ├── cpu_defines.h
│ │ │ │ ├── ctype_base.h
│ │ │ │ ├── ctype_inline.h
│ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ ├── error_constants.h
│ │ │ │ ├── extc++.h
│ │ │ │ ├── gthr-default.h
│ │ │ │ ├── gthr-posix.h
│ │ │ │ ├── gthr-single.h
│ │ │ │ ├── gthr.h
│ │ │ │ ├── messages_members.h
│ │ │ │ ├── opt_random.h
│ │ │ │ ├── os_defines.h
│ │ │ │ ├── stdc++.h
│ │ │ │ ├── stdtr1c++.h
│ │ │ │ └── time_members.h
│ │ │ └── ext
│ │ │ └── opt_random.h
│ │ ├── scoped_allocator
│ │ ├── set
│ │ ├── shared_mutex
│ │ ├── sstream
│ │ ├── stack
│ │ ├── stdexcept
│ │ ├── stdlib.h
│ │ ├── streambuf
│ │ ├── string
│ │ ├── string_view
│ │ ├── system_error
│ │ ├── tgmath.h
│ │ ├── thread
│ │ ├── tr1
│ │ │ ├── array
│ │ │ ├── bessel_function.tcc
│ │ │ ├── beta_function.tcc
│ │ │ ├── ccomplex
│ │ │ ├── cctype
│ │ │ ├── cfenv
│ │ │ ├── cfloat
│ │ │ ├── cinttypes
│ │ │ ├── climits
│ │ │ ├── cmath
│ │ │ ├── complex
│ │ │ ├── complex.h
│ │ │ ├── cstdarg
│ │ │ ├── cstdbool
│ │ │ ├── cstdint
│ │ │ ├── cstdio
│ │ │ ├── cstdlib
│ │ │ ├── ctgmath
│ │ │ ├── ctime
│ │ │ ├── ctype.h
│ │ │ ├── cwchar
│ │ │ ├── cwctype
│ │ │ ├── ell_integral.tcc
│ │ │ ├── exp_integral.tcc
│ │ │ ├── fenv.h
│ │ │ ├── float.h
│ │ │ ├── functional
│ │ │ ├── functional_hash.h
│ │ │ ├── gamma.tcc
│ │ │ ├── hashtable.h
│ │ │ ├── hashtable_policy.h
│ │ │ ├── hypergeometric.tcc
│ │ │ ├── inttypes.h
│ │ │ ├── legendre_function.tcc
│ │ │ ├── limits.h
│ │ │ ├── math.h
│ │ │ ├── memory
│ │ │ ├── modified_bessel_func.tcc
│ │ │ ├── poly_hermite.tcc
│ │ │ ├── poly_laguerre.tcc
│ │ │ ├── random
│ │ │ ├── random.h
│ │ │ ├── random.tcc
│ │ │ ├── regex
│ │ │ ├── riemann_zeta.tcc
│ │ │ ├── shared_ptr.h
│ │ │ ├── special_function_util.h
│ │ │ ├── stdarg.h
│ │ │ ├── stdbool.h
│ │ │ ├── stdint.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── tgmath.h
│ │ │ ├── tuple
│ │ │ ├── type_traits
│ │ │ ├── unordered_map
│ │ │ ├── unordered_map.h
│ │ │ ├── unordered_set
│ │ │ ├── unordered_set.h
│ │ │ ├── utility
│ │ │ ├── wchar.h
│ │ │ └── wctype.h
│ │ ├── tr2
│ │ │ ├── bool_set
│ │ │ ├── bool_set.tcc
│ │ │ ├── dynamic_bitset
│ │ │ ├── dynamic_bitset.tcc
│ │ │ ├── ratio
│ │ │ └── type_traits
│ │ ├── tuple
│ │ ├── type_traits
│ │ ├── typeindex
│ │ ├── typeinfo
│ │ ├── unordered_map
│ │ ├── unordered_set
│ │ ├── utility
│ │ ├── valarray
│ │ ├── variant
│ │ └── vector
│ ├── complex.h
│ ├── cpio.h
│ ├── ctype.h
│ ├── devctl.h
│ ├── dirent.h
│ ├── elf.h
│ ├── envlock.h
│ ├── envz.h
│ ├── errno.h
│ ├── fastmath.h
│ ├── fcntl.h
│ ├── fenv.h
│ ├── fnmatch.h
│ ├── gdb
│ │ └── jit-reader.h
│ ├── getopt.h
│ ├── glob.h
│ ├── grp.h
│ ├── iconv.h
│ ├── ieeefp.h
│ ├── inttypes.h
│ ├── langinfo.h
│ ├── libgen.h
│ ├── limits.h
│ ├── locale.h
│ ├── machine
│ │ ├── _arc4random.h
│ │ ├── _default_types.h
│ │ ├── _endian.h
│ │ ├── _time.h
│ │ ├── _types.h
│ │ ├── ansi.h
│ │ ├── endian.h
│ │ ├── fastmath.h
│ │ ├── ieeefp.h
│ │ ├── malloc.h
│ │ ├── param.h
│ │ ├── setjmp-dj.h
│ │ ├── setjmp.h
│ │ ├── stdlib.h
│ │ ├── syscall.h
│ │ ├── termios.h
│ │ ├── time.h
│ │ └── types.h
│ ├── malloc.h
│ ├── math.h
│ ├── memory.h
│ ├── ndbm.h
│ ├── newlib.h
│ ├── paths.h
│ ├── pthread.h
│ ├── pwd.h
│ ├── reent.h
│ ├── regdef.h
│ ├── regex.h
│ ├── rpc
│ ├── sched.h
│ ├── search.h
│ ├── setjmp.h
│ ├── signal.h
│ ├── spawn.h
│ ├── ssp
│ │ ├── ssp.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.h
│ │ ├── strings.h
│ │ ├── unistd.h
│ │ └── wchar.h
│ ├── stdatomic.h
│ ├── stdint.h
│ ├── stdio.h
│ ├── stdio_ext.h
│ ├── stdlib.h
│ ├── string.h
│ ├── strings.h
│ ├── sys
│ │ ├── _default_fcntl.h
│ │ ├── _intsup.h
│ │ ├── _locale.h
│ │ ├── _pthreadtypes.h
│ │ ├── _sigset.h
│ │ ├── _stdint.h
│ │ ├── _timespec.h
│ │ ├── _timeval.h
│ │ ├── _types.h
│ │ ├── asm.h
│ │ ├── cdefs.h
│ │ ├── config.h
│ │ ├── custom_file.h
│ │ ├── dir.h
│ │ ├── dirent.h
│ │ ├── errno.h
│ │ ├── fcntl.h
│ │ ├── features.h
│ │ ├── fenv.h
│ │ ├── file.h
│ │ ├── iconvnls.h
│ │ ├── lock.h
│ │ ├── param.h
│ │ ├── queue.h
│ │ ├── reent.h
│ │ ├── resource.h
│ │ ├── sched.h
│ │ ├── select.h
│ │ ├── signal.h
│ │ ├── stat.h
│ │ ├── stdio.h
│ │ ├── string.h
│ │ ├── syslimits.h
│ │ ├── time.h
│ │ ├── timeb.h
│ │ ├── times.h
│ │ ├── timespec.h
│ │ ├── tree.h
│ │ ├── types.h
│ │ ├── unistd.h
│ │ ├── utime.h
│ │ └── wait.h
│ ├── tar.h
│ ├── termios.h
│ ├── tgmath.h
│ ├── threads.h
│ ├── time.h
│ ├── unctrl.h
│ ├── unistd.h
│ ├── utime.h
│ ├── utmp.h
│ ├── wchar.h
│ ├── wctype.h
│ └── wordexp.h
├── lib
│ ├── crt0.o
│ ├── default.specs
│ ├── libc.a
│ ├── libc_nano.a
│ ├── libg.a
│ ├── libg_nano.a
│ ├── libgloss.a
│ ├── libm.a
│ ├── libm_nano.a
│ ├── libnosys.a
│ ├── libsim.a
│ ├── libstdc++.a
│ ├── libstdc++.a-gdb.py
│ ├── libsupc++.a
│ ├── nano.specs
│ ├── no-rtti
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── nano.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ ├── nosys.specs
│ ├── rv32i
│ │ └── ilp32
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── libstdc++.a
│ │ ├── libstdc++.a-gdb.py
│ │ ├── libsupc++.a
│ │ ├── nano.specs
│ │ ├── no-rtti
│ │ │ ├── crt0.o
│ │ │ ├── default.specs
│ │ │ ├── libc.a
│ │ │ ├── libc_nano.a
│ │ │ ├── libg.a
│ │ │ ├── libg_nano.a
│ │ │ ├── libgloss.a
│ │ │ ├── libm.a
│ │ │ ├── libm_nano.a
│ │ │ ├── libnosys.a
│ │ │ ├── libsim.a
│ │ │ ├── libstdc++.a
│ │ │ ├── libstdc++.a-gdb.py
│ │ │ ├── libsupc++.a
│ │ │ ├── nano.specs
│ │ │ ├── nosys.specs
│ │ │ └── sim.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ ├── rv32imafc
│ │ └── ilp32f
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── libstdc++.a
│ │ ├── libstdc++.a-gdb.py
│ │ ├── libsupc++.a
│ │ ├── nano.specs
│ │ ├── no-rtti
│ │ │ ├── crt0.o
│ │ │ ├── default.specs
│ │ │ ├── libc.a
│ │ │ ├── libc_nano.a
│ │ │ ├── libg.a
│ │ │ ├── libg_nano.a
│ │ │ ├── libgloss.a
│ │ │ ├── libm.a
│ │ │ ├── libm_nano.a
│ │ │ ├── libnosys.a
│ │ │ ├── libsim.a
│ │ │ ├── libstdc++.a
│ │ │ ├── libstdc++.a-gdb.py
│ │ │ ├── libsupc++.a
│ │ │ ├── nano.specs
│ │ │ ├── nosys.specs
│ │ │ └── sim.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ ├── rv32imc
│ │ └── ilp32
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── libstdc++.a
│ │ ├── libstdc++.a-gdb.py
│ │ ├── libsupc++.a
│ │ ├── nano.specs
│ │ ├── no-rtti
│ │ │ ├── crt0.o
│ │ │ ├── default.specs
│ │ │ ├── libc.a
│ │ │ ├── libc_nano.a
│ │ │ ├── libg.a
│ │ │ ├── libg_nano.a
│ │ │ ├── libgloss.a
│ │ │ ├── libm.a
│ │ │ ├── libm_nano.a
│ │ │ ├── libnosys.a
│ │ │ ├── libsim.a
│ │ │ ├── libstdc++.a
│ │ │ ├── libstdc++.a-gdb.py
│ │ │ ├── libsupc++.a
│ │ │ ├── nano.specs
│ │ │ ├── nosys.specs
│ │ │ └── sim.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ └── sim.specs
├── sys-include
│ ├── COPIED
│ ├── _ansi.h
│ ├── _newlib_version.h
│ ├── _syslist.h
│ ├── alloca.h
│ ├── ar.h
│ ├── argz.h
│ ├── assert.h
│ ├── bits
│ ├── complex.h
│ ├── cpio.h
│ ├── ctype.h
│ ├── devctl.h
│ ├── dirent.h
│ ├── elf.h
│ ├── envlock.h
│ ├── envz.h
│ ├── errno.h
│ ├── fastmath.h
│ ├── fcntl.h
│ ├── fenv.h
│ ├── fnmatch.h
│ ├── getopt.h
│ ├── glob.h
│ ├── grp.h
│ ├── iconv.h
│ ├── ieeefp.h
│ ├── inttypes.h
│ ├── langinfo.h
│ ├── libgen.h
│ ├── limits.h
│ ├── locale.h
│ ├── machine
│ │ ├── _arc4random.h
│ │ ├── _default_types.h
│ │ ├── _endian.h
│ │ ├── _time.h
│ │ ├── _types.h
│ │ ├── ansi.h
│ │ ├── endian.h
│ │ ├── fastmath.h
│ │ ├── ieeefp.h
│ │ ├── malloc.h
│ │ ├── param.h
│ │ ├── setjmp-dj.h
│ │ ├── setjmp.h
│ │ ├── stdlib.h
│ │ ├── syscall.h
│ │ ├── termios.h
│ │ ├── time.h
│ │ └── types.h
│ ├── malloc.h
│ ├── math.h
│ ├── memory.h
│ ├── ndbm.h
│ ├── newlib.h
│ ├── paths.h
│ ├── pthread.h
│ ├── pwd.h
│ ├── reent.h
│ ├── regdef.h
│ ├── regex.h
│ ├── rpc
│ ├── sched.h
│ ├── search.h
│ ├── setjmp.h
│ ├── signal.h
│ ├── spawn.h
│ ├── ssp
│ │ ├── ssp.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.h
│ │ ├── strings.h
│ │ ├── unistd.h
│ │ └── wchar.h
│ ├── stdatomic.h
│ ├── stdint.h
│ ├── stdio.h
│ ├── stdio_ext.h
│ ├── stdlib.h
│ ├── string.h
│ ├── strings.h
│ ├── sys
│ │ ├── _default_fcntl.h
│ │ ├── _intsup.h
│ │ ├── _locale.h
│ │ ├── _pthreadtypes.h
│ │ ├── _sigset.h
│ │ ├── _stdint.h
│ │ ├── _timespec.h
│ │ ├── _timeval.h
│ │ ├── _types.h
│ │ ├── asm.h
│ │ ├── cdefs.h
│ │ ├── config.h
│ │ ├── custom_file.h
│ │ ├── dir.h
│ │ ├── dirent.h
│ │ ├── errno.h
│ │ ├── fcntl.h
│ │ ├── features.h
│ │ ├── fenv.h
│ │ ├── file.h
│ │ ├── iconvnls.h
│ │ ├── lock.h
│ │ ├── param.h
│ │ ├── queue.h
│ │ ├── reent.h
│ │ ├── resource.h
│ │ ├── sched.h
│ │ ├── select.h
│ │ ├── signal.h
│ │ ├── stat.h
│ │ ├── stdio.h
│ │ ├── string.h
│ │ ├── syslimits.h
│ │ ├── time.h
│ │ ├── timeb.h
│ │ ├── times.h
│ │ ├── timespec.h
│ │ ├── tree.h
│ │ ├── types.h
│ │ ├── unistd.h
│ │ ├── utime.h
│ │ └── wait.h
│ ├── tar.h
│ ├── termios.h
│ ├── tgmath.h
│ ├── threads.h
│ ├── time.h
│ ├── unctrl.h
│ ├── unistd.h
│ ├── utime.h
│ ├── utmp.h
│ ├── wchar.h
│ ├── wctype.h
│ └── wordexp.h
└── usr
└── lib
/home/bjoern/.espressif/tools/riscv32-esp-elf/esp-2021r2-patch5-8_4_0/riscv32-esp-elf/riscv32-esp-elf/
├── bin
│ ├── ar
│ ├── as
│ ├── ld
│ ├── ld.bfd
│ ├── nm
│ ├── objcopy
│ ├── objdump
│ ├── ranlib
│ ├── readelf
│ └── strip
├── include
│ ├── _ansi.h
│ ├── _newlib_version.h
│ ├── _syslist.h
│ ├── alloca.h
│ ├── ar.h
│ ├── argz.h
│ ├── assert.h
│ ├── bits
│ ├── c++
│ │ └── 8.4.0
│ │ ├── algorithm
│ │ ├── any
│ │ ├── array
│ │ ├── atomic
│ │ ├── backward
│ │ │ ├── auto_ptr.h
│ │ │ ├── backward_warning.h
│ │ │ ├── binders.h
│ │ │ ├── hash_fun.h
│ │ │ ├── hash_map
│ │ │ ├── hash_set
│ │ │ ├── hashtable.h
│ │ │ └── strstream
│ │ ├── bits
│ │ │ ├── algorithmfwd.h
│ │ │ ├── alloc_traits.h
│ │ │ ├── allocated_ptr.h
│ │ │ ├── allocator.h
│ │ │ ├── atomic_base.h
│ │ │ ├── atomic_futex.h
│ │ │ ├── atomic_lockfree_defines.h
│ │ │ ├── basic_ios.h
│ │ │ ├── basic_ios.tcc
│ │ │ ├── basic_string.h
│ │ │ ├── basic_string.tcc
│ │ │ ├── boost_concept_check.h
│ │ │ ├── c++0x_warning.h
│ │ │ ├── char_traits.h
│ │ │ ├── codecvt.h
│ │ │ ├── concept_check.h
│ │ │ ├── cpp_type_traits.h
│ │ │ ├── cxxabi_forced.h
│ │ │ ├── cxxabi_init_exception.h
│ │ │ ├── deque.tcc
│ │ │ ├── enable_special_members.h
│ │ │ ├── exception.h
│ │ │ ├── exception_defines.h
│ │ │ ├── exception_ptr.h
│ │ │ ├── forward_list.h
│ │ │ ├── forward_list.tcc
│ │ │ ├── fs_dir.h
│ │ │ ├── fs_fwd.h
│ │ │ ├── fs_ops.h
│ │ │ ├── fs_path.h
│ │ │ ├── fstream.tcc
│ │ │ ├── functexcept.h
│ │ │ ├── functional_hash.h
│ │ │ ├── gslice.h
│ │ │ ├── gslice_array.h
│ │ │ ├── hash_bytes.h
│ │ │ ├── hashtable.h
│ │ │ ├── hashtable_policy.h
│ │ │ ├── indirect_array.h
│ │ │ ├── invoke.h
│ │ │ ├── ios_base.h
│ │ │ ├── istream.tcc
│ │ │ ├── list.tcc
│ │ │ ├── locale_classes.h
│ │ │ ├── locale_classes.tcc
│ │ │ ├── locale_conv.h
│ │ │ ├── locale_facets.h
│ │ │ ├── locale_facets.tcc
│ │ │ ├── locale_facets_nonio.h
│ │ │ ├── locale_facets_nonio.tcc
│ │ │ ├── localefwd.h
│ │ │ ├── mask_array.h
│ │ │ ├── memoryfwd.h
│ │ │ ├── move.h
│ │ │ ├── nested_exception.h
│ │ │ ├── node_handle.h
│ │ │ ├── ostream.tcc
│ │ │ ├── ostream_insert.h
│ │ │ ├── parse_numbers.h
│ │ │ ├── postypes.h
│ │ │ ├── predefined_ops.h
│ │ │ ├── ptr_traits.h
│ │ │ ├── quoted_string.h
│ │ │ ├── random.h
│ │ │ ├── random.tcc
│ │ │ ├── range_access.h
│ │ │ ├── refwrap.h
│ │ │ ├── regex.h
│ │ │ ├── regex.tcc
│ │ │ ├── regex_automaton.h
│ │ │ ├── regex_automaton.tcc
│ │ │ ├── regex_compiler.h
│ │ │ ├── regex_compiler.tcc
│ │ │ ├── regex_constants.h
│ │ │ ├── regex_error.h
│ │ │ ├── regex_executor.h
│ │ │ ├── regex_executor.tcc
│ │ │ ├── regex_scanner.h
│ │ │ ├── regex_scanner.tcc
│ │ │ ├── shared_ptr.h
│ │ │ ├── shared_ptr_atomic.h
│ │ │ ├── shared_ptr_base.h
│ │ │ ├── slice_array.h
│ │ │ ├── specfun.h
│ │ │ ├── sstream.tcc
│ │ │ ├── std_abs.h
│ │ │ ├── std_function.h
│ │ │ ├── std_mutex.h
│ │ │ ├── stl_algo.h
│ │ │ ├── stl_algobase.h
│ │ │ ├── stl_bvector.h
│ │ │ ├── stl_construct.h
│ │ │ ├── stl_deque.h
│ │ │ ├── stl_function.h
│ │ │ ├── stl_heap.h
│ │ │ ├── stl_iterator.h
│ │ │ ├── stl_iterator_base_funcs.h
│ │ │ ├── stl_iterator_base_types.h
│ │ │ ├── stl_list.h
│ │ │ ├── stl_map.h
│ │ │ ├── stl_multimap.h
│ │ │ ├── stl_multiset.h
│ │ │ ├── stl_numeric.h
│ │ │ ├── stl_pair.h
│ │ │ ├── stl_queue.h
│ │ │ ├── stl_raw_storage_iter.h
│ │ │ ├── stl_relops.h
│ │ │ ├── stl_set.h
│ │ │ ├── stl_stack.h
│ │ │ ├── stl_tempbuf.h
│ │ │ ├── stl_tree.h
│ │ │ ├── stl_uninitialized.h
│ │ │ ├── stl_vector.h
│ │ │ ├── stream_iterator.h
│ │ │ ├── streambuf.tcc
│ │ │ ├── streambuf_iterator.h
│ │ │ ├── string_view.tcc
│ │ │ ├── stringfwd.h
│ │ │ ├── uniform_int_dist.h
│ │ │ ├── unique_ptr.h
│ │ │ ├── unordered_map.h
│ │ │ ├── unordered_set.h
│ │ │ ├── uses_allocator.h
│ │ │ ├── valarray_after.h
│ │ │ ├── valarray_array.h
│ │ │ ├── valarray_array.tcc
│ │ │ ├── valarray_before.h
│ │ │ └── vector.tcc
│ │ ├── bitset
│ │ ├── cassert
│ │ ├── ccomplex
│ │ ├── cctype
│ │ ├── cerrno
│ │ ├── cfenv
│ │ ├── cfloat
│ │ ├── charconv
│ │ ├── chrono
│ │ ├── cinttypes
│ │ ├── ciso646
│ │ ├── climits
│ │ ├── clocale
│ │ ├── cmath
│ │ ├── codecvt
│ │ ├── complex
│ │ ├── complex.h
│ │ ├── condition_variable
│ │ ├── csetjmp
│ │ ├── csignal
│ │ ├── cstdalign
│ │ ├── cstdarg
│ │ ├── cstdbool
│ │ ├── cstddef
│ │ ├── cstdint
│ │ ├── cstdio
│ │ ├── cstdlib
│ │ ├── cstring
│ │ ├── ctgmath
│ │ ├── ctime
│ │ ├── cuchar
│ │ ├── cwchar
│ │ ├── cwctype
│ │ ├── cxxabi.h
│ │ ├── debug
│ │ │ ├── array
│ │ │ ├── assertions.h
│ │ │ ├── bitset
│ │ │ ├── debug.h
│ │ │ ├── deque
│ │ │ ├── formatter.h
│ │ │ ├── forward_list
│ │ │ ├── functions.h
│ │ │ ├── helper_functions.h
│ │ │ ├── list
│ │ │ ├── macros.h
│ │ │ ├── map
│ │ │ ├── map.h
│ │ │ ├── multimap.h
│ │ │ ├── multiset.h
│ │ │ ├── safe_base.h
│ │ │ ├── safe_container.h
│ │ │ ├── safe_iterator.h
│ │ │ ├── safe_iterator.tcc
│ │ │ ├── safe_local_iterator.h
│ │ │ ├── safe_local_iterator.tcc
│ │ │ ├── safe_sequence.h
│ │ │ ├── safe_sequence.tcc
│ │ │ ├── safe_unordered_base.h
│ │ │ ├── safe_unordered_container.h
│ │ │ ├── safe_unordered_container.tcc
│ │ │ ├── set
│ │ │ ├── set.h
│ │ │ ├── stl_iterator.h
│ │ │ ├── string
│ │ │ ├── unordered_map
│ │ │ ├── unordered_set
│ │ │ └── vector
│ │ ├── decimal
│ │ │ ├── decimal
│ │ │ └── decimal.h
│ │ ├── deque
│ │ ├── exception
│ │ ├── experimental
│ │ │ ├── algorithm
│ │ │ ├── any
│ │ │ ├── array
│ │ │ ├── bits
│ │ │ │ ├── erase_if.h
│ │ │ │ ├── lfts_config.h
│ │ │ │ ├── shared_ptr.h
│ │ │ │ └── string_view.tcc
│ │ │ ├── chrono
│ │ │ ├── deque
│ │ │ ├── forward_list
│ │ │ ├── functional
│ │ │ ├── iterator
│ │ │ ├── list
│ │ │ ├── map
│ │ │ ├── memory
│ │ │ ├── memory_resource
│ │ │ ├── numeric
│ │ │ ├── optional
│ │ │ ├── propagate_const
│ │ │ ├── random
│ │ │ ├── ratio
│ │ │ ├── regex
│ │ │ ├── set
│ │ │ ├── source_location
│ │ │ ├── string
│ │ │ ├── string_view
│ │ │ ├── system_error
│ │ │ ├── tuple
│ │ │ ├── type_traits
│ │ │ ├── unordered_map
│ │ │ ├── unordered_set
│ │ │ ├── utility
│ │ │ └── vector
│ │ ├── ext
│ │ │ ├── algorithm
│ │ │ ├── aligned_buffer.h
│ │ │ ├── alloc_traits.h
│ │ │ ├── array_allocator.h
│ │ │ ├── atomicity.h
│ │ │ ├── bitmap_allocator.h
│ │ │ ├── cast.h
│ │ │ ├── cmath
│ │ │ ├── codecvt_specializations.h
│ │ │ ├── concurrence.h
│ │ │ ├── debug_allocator.h
│ │ │ ├── enc_filebuf.h
│ │ │ ├── extptr_allocator.h
│ │ │ ├── functional
│ │ │ ├── hash_map
│ │ │ ├── hash_set
│ │ │ ├── iterator
│ │ │ ├── malloc_allocator.h
│ │ │ ├── memory
│ │ │ ├── mt_allocator.h
│ │ │ ├── new_allocator.h
│ │ │ ├── numeric
│ │ │ ├── numeric_traits.h
│ │ │ ├── pb_ds
│ │ │ │ ├── assoc_container.hpp
│ │ │ │ ├── detail
│ │ │ │ │ ├── bin_search_tree_
│ │ │ │ │ │ ├── bin_search_tree_.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── node_iterators.hpp
│ │ │ │ │ │ ├── point_iterators.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── r_erase_fn_imps.hpp
│ │ │ │ │ │ ├── rotate_fn_imps.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── binary_heap_
│ │ │ │ │ │ ├── binary_heap_.hpp
│ │ │ │ │ │ ├── const_iterator.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── entry_cmp.hpp
│ │ │ │ │ │ ├── entry_pred.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── point_const_iterator.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── resize_policy.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── binomial_heap_
│ │ │ │ │ │ ├── binomial_heap_.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ └── debug_fn_imps.hpp
│ │ │ │ │ ├── binomial_heap_base_
│ │ │ │ │ │ ├── binomial_heap_base_.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ └── split_join_fn_imps.hpp
│ │ │ │ │ ├── branch_policy
│ │ │ │ │ │ ├── branch_policy.hpp
│ │ │ │ │ │ ├── null_node_metadata.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── cc_hash_table_map_
│ │ │ │ │ │ ├── cc_ht_map_.hpp
│ │ │ │ │ │ ├── cmp_fn_imps.hpp
│ │ │ │ │ │ ├── cond_key_dtor_entry_dealtor.hpp
│ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── debug_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── entry_list_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── erase_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── erase_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── find_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── insert_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── insert_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── resize_fn_imps.hpp
│ │ │ │ │ │ ├── resize_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── resize_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── size_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── cond_dealtor.hpp
│ │ │ │ │ ├── container_base_dispatch.hpp
│ │ │ │ │ ├── debug_map_base.hpp
│ │ │ │ │ ├── eq_fn
│ │ │ │ │ │ ├── eq_by_less.hpp
│ │ │ │ │ │ └── hash_eq_fn.hpp
│ │ │ │ │ ├── gp_hash_table_map_
│ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── constructor_destructor_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── debug_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── debug_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── erase_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── erase_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── find_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── find_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── gp_ht_map_.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── insert_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── insert_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── iterator_fn_imps.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── resize_fn_imps.hpp
│ │ │ │ │ │ ├── resize_no_store_hash_fn_imps.hpp
│ │ │ │ │ │ ├── resize_store_hash_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── hash_fn
│ │ │ │ │ │ ├── direct_mask_range_hashing_imp.hpp
│ │ │ │ │ │ ├── direct_mod_range_hashing_imp.hpp
│ │ │ │ │ │ ├── linear_probe_fn_imp.hpp
│ │ │ │ │ │ ├── mask_based_range_hashing.hpp
│ │ │ │ │ │ ├── mod_based_range_hashing.hpp
│ │ │ │ │ │ ├── probe_fn_base.hpp
│ │ │ │ │ │ ├── quadratic_probe_fn_imp.hpp
│ │ │ │ │ │ ├── ranged_hash_fn.hpp
│ │ │ │ │ │ ├── ranged_probe_fn.hpp
│ │ │ │ │ │ ├── sample_probe_fn.hpp
│ │ │ │ │ │ ├── sample_range_hashing.hpp
│ │ │ │ │ │ ├── sample_ranged_hash_fn.hpp
│ │ │ │ │ │ └── sample_ranged_probe_fn.hpp
│ │ │ │ │ ├── left_child_next_sibling_heap_
│ │ │ │ │ │ ├── const_iterator.hpp
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── left_child_next_sibling_heap_.hpp
│ │ │ │ │ │ ├── node.hpp
│ │ │ │ │ │ ├── point_const_iterator.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── list_update_map_
│ │ │ │ │ │ ├── constructor_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── entry_metadata_base.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── lu_map_.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── list_update_policy
│ │ │ │ │ │ ├── lu_counter_metadata.hpp
│ │ │ │ │ │ └── sample_update_policy.hpp
│ │ │ │ │ ├── ov_tree_map_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── node_iterators.hpp
│ │ │ │ │ │ ├── ov_tree_map_.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── pairing_heap_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── pairing_heap_.hpp
│ │ │ │ │ │ └── split_join_fn_imps.hpp
│ │ │ │ │ ├── pat_trie_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_join_fn_imps.hpp
│ │ │ │ │ │ ├── iterators_fn_imps.hpp
│ │ │ │ │ │ ├── pat_trie_.hpp
│ │ │ │ │ │ ├── pat_trie_base.hpp
│ │ │ │ │ │ ├── policy_access_fn_imps.hpp
│ │ │ │ │ │ ├── r_erase_fn_imps.hpp
│ │ │ │ │ │ ├── rotate_fn_imps.hpp
│ │ │ │ │ │ ├── split_fn_imps.hpp
│ │ │ │ │ │ ├── synth_access_traits.hpp
│ │ │ │ │ │ ├── trace_fn_imps.hpp
│ │ │ │ │ │ ├── traits.hpp
│ │ │ │ │ │ └── update_fn_imps.hpp
│ │ │ │ │ ├── priority_queue_base_dispatch.hpp
│ │ │ │ │ ├── rb_tree_map_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── node.hpp
│ │ │ │ │ │ ├── rb_tree_.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── rc_binomial_heap_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── rc.hpp
│ │ │ │ │ │ ├── rc_binomial_heap_.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── resize_policy
│ │ │ │ │ │ ├── cc_hash_max_collision_check_resize_trigger_imp.hpp
│ │ │ │ │ │ ├── hash_exponential_size_policy_imp.hpp
│ │ │ │ │ │ ├── hash_load_check_resize_trigger_imp.hpp
│ │ │ │ │ │ ├── hash_load_check_resize_trigger_size_base.hpp
│ │ │ │ │ │ ├── hash_prime_size_policy_imp.hpp
│ │ │ │ │ │ ├── hash_standard_resize_policy_imp.hpp
│ │ │ │ │ │ ├── sample_resize_policy.hpp
│ │ │ │ │ │ ├── sample_resize_trigger.hpp
│ │ │ │ │ │ └── sample_size_policy.hpp
│ │ │ │ │ ├── splay_tree_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── info_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── node.hpp
│ │ │ │ │ │ ├── splay_fn_imps.hpp
│ │ │ │ │ │ ├── splay_tree_.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ └── traits.hpp
│ │ │ │ │ ├── standard_policies.hpp
│ │ │ │ │ ├── thin_heap_
│ │ │ │ │ │ ├── constructors_destructor_fn_imps.hpp
│ │ │ │ │ │ ├── debug_fn_imps.hpp
│ │ │ │ │ │ ├── erase_fn_imps.hpp
│ │ │ │ │ │ ├── find_fn_imps.hpp
│ │ │ │ │ │ ├── insert_fn_imps.hpp
│ │ │ │ │ │ ├── split_join_fn_imps.hpp
│ │ │ │ │ │ ├── thin_heap_.hpp
│ │ │ │ │ │ └── trace_fn_imps.hpp
│ │ │ │ │ ├── tree_policy
│ │ │ │ │ │ ├── node_metadata_selector.hpp
│ │ │ │ │ │ ├── order_statistics_imp.hpp
│ │ │ │ │ │ └── sample_tree_node_update.hpp
│ │ │ │ │ ├── tree_trace_base.hpp
│ │ │ │ │ ├── trie_policy
│ │ │ │ │ │ ├── node_metadata_selector.hpp
│ │ │ │ │ │ ├── order_statistics_imp.hpp
│ │ │ │ │ │ ├── prefix_search_node_update_imp.hpp
│ │ │ │ │ │ ├── sample_trie_access_traits.hpp
│ │ │ │ │ │ ├── sample_trie_node_update.hpp
│ │ │ │ │ │ ├── trie_policy_base.hpp
│ │ │ │ │ │ └── trie_string_access_traits_imp.hpp
│ │ │ │ │ ├── type_utils.hpp
│ │ │ │ │ ├── types_traits.hpp
│ │ │ │ │ └── unordered_iterator
│ │ │ │ │ ├── const_iterator.hpp
│ │ │ │ │ ├── iterator.hpp
│ │ │ │ │ ├── point_const_iterator.hpp
│ │ │ │ │ └── point_iterator.hpp
│ │ │ │ ├── exception.hpp
│ │ │ │ ├── hash_policy.hpp
│ │ │ │ ├── list_update_policy.hpp
│ │ │ │ ├── priority_queue.hpp
│ │ │ │ ├── tag_and_trait.hpp
│ │ │ │ ├── tree_policy.hpp
│ │ │ │ └── trie_policy.hpp
│ │ │ ├── pod_char_traits.h
│ │ │ ├── pointer.h
│ │ │ ├── pool_allocator.h
│ │ │ ├── random
│ │ │ ├── random.tcc
│ │ │ ├── rb_tree
│ │ │ ├── rc_string_base.h
│ │ │ ├── rope
│ │ │ ├── ropeimpl.h
│ │ │ ├── slist
│ │ │ ├── sso_string_base.h
│ │ │ ├── stdio_filebuf.h
│ │ │ ├── stdio_sync_filebuf.h
│ │ │ ├── string_conversions.h
│ │ │ ├── throw_allocator.h
│ │ │ ├── type_traits.h
│ │ │ ├── typelist.h
│ │ │ ├── vstring.h
│ │ │ ├── vstring.tcc
│ │ │ ├── vstring_fwd.h
│ │ │ └── vstring_util.h
│ │ ├── fenv.h
│ │ ├── filesystem
│ │ ├── forward_list
│ │ ├── fstream
│ │ ├── functional
│ │ ├── future
│ │ ├── initializer_list
│ │ ├── iomanip
│ │ ├── ios
│ │ ├── iosfwd
│ │ ├── iostream
│ │ ├── istream
│ │ ├── iterator
│ │ ├── limits
│ │ ├── list
│ │ ├── locale
│ │ ├── map
│ │ ├── math.h
│ │ ├── memory
│ │ ├── mutex
│ │ ├── new
│ │ ├── numeric
│ │ ├── optional
│ │ ├── ostream
│ │ ├── parallel
│ │ │ ├── algo.h
│ │ │ ├── algobase.h
│ │ │ ├── algorithm
│ │ │ ├── algorithmfwd.h
│ │ │ ├── balanced_quicksort.h
│ │ │ ├── base.h
│ │ │ ├── basic_iterator.h
│ │ │ ├── checkers.h
│ │ │ ├── compatibility.h
│ │ │ ├── compiletime_settings.h
│ │ │ ├── equally_split.h
│ │ │ ├── features.h
│ │ │ ├── find.h
│ │ │ ├── find_selectors.h
│ │ │ ├── for_each.h
│ │ │ ├── for_each_selectors.h
│ │ │ ├── iterator.h
│ │ │ ├── list_partition.h
│ │ │ ├── losertree.h
│ │ │ ├── merge.h
│ │ │ ├── multiseq_selection.h
│ │ │ ├── multiway_merge.h
│ │ │ ├── multiway_mergesort.h
│ │ │ ├── numeric
│ │ │ ├── numericfwd.h
│ │ │ ├── omp_loop.h
│ │ │ ├── omp_loop_static.h
│ │ │ ├── par_loop.h
│ │ │ ├── parallel.h
│ │ │ ├── partial_sum.h
│ │ │ ├── partition.h
│ │ │ ├── queue.h
│ │ │ ├── quicksort.h
│ │ │ ├── random_number.h
│ │ │ ├── random_shuffle.h
│ │ │ ├── search.h
│ │ │ ├── set_operations.h
│ │ │ ├── settings.h
│ │ │ ├── sort.h
│ │ │ ├── tags.h
│ │ │ ├── types.h
│ │ │ ├── unique_copy.h
│ │ │ └── workstealing.h
│ │ ├── profile
│ │ │ ├── array
│ │ │ ├── base.h
│ │ │ ├── bitset
│ │ │ ├── deque
│ │ │ ├── forward_list
│ │ │ ├── impl
│ │ │ │ ├── profiler.h
│ │ │ │ ├── profiler_algos.h
│ │ │ │ ├── profiler_container_size.h
│ │ │ │ ├── profiler_hash_func.h
│ │ │ │ ├── profiler_hashtable_size.h
│ │ │ │ ├── profiler_list_to_slist.h
│ │ │ │ ├── profiler_list_to_vector.h
│ │ │ │ ├── profiler_map_to_unordered_map.h
│ │ │ │ ├── profiler_node.h
│ │ │ │ ├── profiler_state.h
│ │ │ │ ├── profiler_trace.h
│ │ │ │ ├── profiler_vector_size.h
│ │ │ │ └── profiler_vector_to_list.h
│ │ │ ├── iterator_tracker.h
│ │ │ ├── list
│ │ │ ├── map
│ │ │ ├── map.h
│ │ │ ├── multimap.h
│ │ │ ├── multiset.h
│ │ │ ├── ordered_base.h
│ │ │ ├── set
│ │ │ ├── set.h
│ │ │ ├── unordered_base.h
│ │ │ ├── unordered_map
│ │ │ ├── unordered_set
│ │ │ └── vector
│ │ ├── queue
│ │ ├── random
│ │ ├── ratio
│ │ ├── regex
│ │ ├── riscv32-esp-elf
│ │ │ ├── bits
│ │ │ │ ├── atomic_word.h
│ │ │ │ ├── basic_file.h
│ │ │ │ ├── c++allocator.h
│ │ │ │ ├── c++config.h
│ │ │ │ ├── c++io.h
│ │ │ │ ├── c++locale.h
│ │ │ │ ├── cpu_defines.h
│ │ │ │ ├── ctype_base.h
│ │ │ │ ├── ctype_inline.h
│ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ ├── error_constants.h
│ │ │ │ ├── extc++.h
│ │ │ │ ├── gthr-default.h
│ │ │ │ ├── gthr-posix.h
│ │ │ │ ├── gthr-single.h
│ │ │ │ ├── gthr.h
│ │ │ │ ├── messages_members.h
│ │ │ │ ├── opt_random.h
│ │ │ │ ├── os_defines.h
│ │ │ │ ├── stdc++.h
│ │ │ │ ├── stdtr1c++.h
│ │ │ │ └── time_members.h
│ │ │ ├── ext
│ │ │ │ └── opt_random.h
│ │ │ ├── no-rtti
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ └── ext
│ │ │ │ └── opt_random.h
│ │ │ ├── rv32i
│ │ │ │ └── ilp32
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ ├── ext
│ │ │ │ │ └── opt_random.h
│ │ │ │ └── no-rtti
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ └── ext
│ │ │ │ └── opt_random.h
│ │ │ ├── rv32imafc
│ │ │ │ └── ilp32f
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ ├── ext
│ │ │ │ │ └── opt_random.h
│ │ │ │ └── no-rtti
│ │ │ │ ├── bits
│ │ │ │ │ ├── atomic_word.h
│ │ │ │ │ ├── basic_file.h
│ │ │ │ │ ├── c++allocator.h
│ │ │ │ │ ├── c++config.h
│ │ │ │ │ ├── c++io.h
│ │ │ │ │ ├── c++locale.h
│ │ │ │ │ ├── cpu_defines.h
│ │ │ │ │ ├── ctype_base.h
│ │ │ │ │ ├── ctype_inline.h
│ │ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ │ ├── error_constants.h
│ │ │ │ │ ├── extc++.h
│ │ │ │ │ ├── gthr-default.h
│ │ │ │ │ ├── gthr-posix.h
│ │ │ │ │ ├── gthr-single.h
│ │ │ │ │ ├── gthr.h
│ │ │ │ │ ├── messages_members.h
│ │ │ │ │ ├── opt_random.h
│ │ │ │ │ ├── os_defines.h
│ │ │ │ │ ├── stdc++.h
│ │ │ │ │ ├── stdtr1c++.h
│ │ │ │ │ └── time_members.h
│ │ │ │ └── ext
│ │ │ │ └── opt_random.h
│ │ │ └── rv32imc
│ │ │ └── ilp32
│ │ │ ├── bits
│ │ │ │ ├── atomic_word.h
│ │ │ │ ├── basic_file.h
│ │ │ │ ├── c++allocator.h
│ │ │ │ ├── c++config.h
│ │ │ │ ├── c++io.h
│ │ │ │ ├── c++locale.h
│ │ │ │ ├── cpu_defines.h
│ │ │ │ ├── ctype_base.h
│ │ │ │ ├── ctype_inline.h
│ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ ├── error_constants.h
│ │ │ │ ├── extc++.h
│ │ │ │ ├── gthr-default.h
│ │ │ │ ├── gthr-posix.h
│ │ │ │ ├── gthr-single.h
│ │ │ │ ├── gthr.h
│ │ │ │ ├── messages_members.h
│ │ │ │ ├── opt_random.h
│ │ │ │ ├── os_defines.h
│ │ │ │ ├── stdc++.h
│ │ │ │ ├── stdtr1c++.h
│ │ │ │ └── time_members.h
│ │ │ ├── ext
│ │ │ │ └── opt_random.h
│ │ │ └── no-rtti
│ │ │ ├── bits
│ │ │ │ ├── atomic_word.h
│ │ │ │ ├── basic_file.h
│ │ │ │ ├── c++allocator.h
│ │ │ │ ├── c++config.h
│ │ │ │ ├── c++io.h
│ │ │ │ ├── c++locale.h
│ │ │ │ ├── cpu_defines.h
│ │ │ │ ├── ctype_base.h
│ │ │ │ ├── ctype_inline.h
│ │ │ │ ├── cxxabi_tweaks.h
│ │ │ │ ├── error_constants.h
│ │ │ │ ├── extc++.h
│ │ │ │ ├── gthr-default.h
│ │ │ │ ├── gthr-posix.h
│ │ │ │ ├── gthr-single.h
│ │ │ │ ├── gthr.h
│ │ │ │ ├── messages_members.h
│ │ │ │ ├── opt_random.h
│ │ │ │ ├── os_defines.h
│ │ │ │ ├── stdc++.h
│ │ │ │ ├── stdtr1c++.h
│ │ │ │ └── time_members.h
│ │ │ └── ext
│ │ │ └── opt_random.h
│ │ ├── scoped_allocator
│ │ ├── set
│ │ ├── shared_mutex
│ │ ├── sstream
│ │ ├── stack
│ │ ├── stdexcept
│ │ ├── stdlib.h
│ │ ├── streambuf
│ │ ├── string
│ │ ├── string_view
│ │ ├── system_error
│ │ ├── tgmath.h
│ │ ├── thread
│ │ ├── tr1
│ │ │ ├── array
│ │ │ ├── bessel_function.tcc
│ │ │ ├── beta_function.tcc
│ │ │ ├── ccomplex
│ │ │ ├── cctype
│ │ │ ├── cfenv
│ │ │ ├── cfloat
│ │ │ ├── cinttypes
│ │ │ ├── climits
│ │ │ ├── cmath
│ │ │ ├── complex
│ │ │ ├── complex.h
│ │ │ ├── cstdarg
│ │ │ ├── cstdbool
│ │ │ ├── cstdint
│ │ │ ├── cstdio
│ │ │ ├── cstdlib
│ │ │ ├── ctgmath
│ │ │ ├── ctime
│ │ │ ├── ctype.h
│ │ │ ├── cwchar
│ │ │ ├── cwctype
│ │ │ ├── ell_integral.tcc
│ │ │ ├── exp_integral.tcc
│ │ │ ├── fenv.h
│ │ │ ├── float.h
│ │ │ ├── functional
│ │ │ ├── functional_hash.h
│ │ │ ├── gamma.tcc
│ │ │ ├── hashtable.h
│ │ │ ├── hashtable_policy.h
│ │ │ ├── hypergeometric.tcc
│ │ │ ├── inttypes.h
│ │ │ ├── legendre_function.tcc
│ │ │ ├── limits.h
│ │ │ ├── math.h
│ │ │ ├── memory
│ │ │ ├── modified_bessel_func.tcc
│ │ │ ├── poly_hermite.tcc
│ │ │ ├── poly_laguerre.tcc
│ │ │ ├── random
│ │ │ ├── random.h
│ │ │ ├── random.tcc
│ │ │ ├── regex
│ │ │ ├── riemann_zeta.tcc
│ │ │ ├── shared_ptr.h
│ │ │ ├── special_function_util.h
│ │ │ ├── stdarg.h
│ │ │ ├── stdbool.h
│ │ │ ├── stdint.h
│ │ │ ├── stdio.h
│ │ │ ├── stdlib.h
│ │ │ ├── tgmath.h
│ │ │ ├── tuple
│ │ │ ├── type_traits
│ │ │ ├── unordered_map
│ │ │ ├── unordered_map.h
│ │ │ ├── unordered_set
│ │ │ ├── unordered_set.h
│ │ │ ├── utility
│ │ │ ├── wchar.h
│ │ │ └── wctype.h
│ │ ├── tr2
│ │ │ ├── bool_set
│ │ │ ├── bool_set.tcc
│ │ │ ├── dynamic_bitset
│ │ │ ├── dynamic_bitset.tcc
│ │ │ ├── ratio
│ │ │ └── type_traits
│ │ ├── tuple
│ │ ├── type_traits
│ │ ├── typeindex
│ │ ├── typeinfo
│ │ ├── unordered_map
│ │ ├── unordered_set
│ │ ├── utility
│ │ ├── valarray
│ │ ├── variant
│ │ └── vector
│ ├── complex.h
│ ├── cpio.h
│ ├── ctype.h
│ ├── devctl.h
│ ├── dirent.h
│ ├── elf.h
│ ├── envlock.h
│ ├── envz.h
│ ├── errno.h
│ ├── fastmath.h
│ ├── fcntl.h
│ ├── fenv.h
│ ├── fnmatch.h
│ ├── gdb
│ │ └── jit-reader.h
│ ├── getopt.h
│ ├── glob.h
│ ├── grp.h
│ ├── iconv.h
│ ├── ieeefp.h
│ ├── inttypes.h
│ ├── langinfo.h
│ ├── libgen.h
│ ├── limits.h
│ ├── locale.h
│ ├── machine
│ │ ├── _arc4random.h
│ │ ├── _default_types.h
│ │ ├── _endian.h
│ │ ├── _time.h
│ │ ├── _types.h
│ │ ├── ansi.h
│ │ ├── endian.h
│ │ ├── fastmath.h
│ │ ├── ieeefp.h
│ │ ├── malloc.h
│ │ ├── param.h
│ │ ├── setjmp-dj.h
│ │ ├── setjmp.h
│ │ ├── stdlib.h
│ │ ├── syscall.h
│ │ ├── termios.h
│ │ ├── time.h
│ │ └── types.h
│ ├── malloc.h
│ ├── math.h
│ ├── memory.h
│ ├── ndbm.h
│ ├── newlib.h
│ ├── paths.h
│ ├── pthread.h
│ ├── pwd.h
│ ├── reent.h
│ ├── regdef.h
│ ├── regex.h
│ ├── rpc
│ ├── sched.h
│ ├── search.h
│ ├── setjmp.h
│ ├── signal.h
│ ├── spawn.h
│ ├── ssp
│ │ ├── ssp.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.h
│ │ ├── strings.h
│ │ ├── unistd.h
│ │ └── wchar.h
│ ├── stdatomic.h
│ ├── stdint.h
│ ├── stdio.h
│ ├── stdio_ext.h
│ ├── stdlib.h
│ ├── string.h
│ ├── strings.h
│ ├── sys
│ │ ├── _default_fcntl.h
│ │ ├── _intsup.h
│ │ ├── _locale.h
│ │ ├── _pthreadtypes.h
│ │ ├── _sigset.h
│ │ ├── _stdint.h
│ │ ├── _timespec.h
│ │ ├── _timeval.h
│ │ ├── _types.h
│ │ ├── asm.h
│ │ ├── cdefs.h
│ │ ├── config.h
│ │ ├── custom_file.h
│ │ ├── dir.h
│ │ ├── dirent.h
│ │ ├── errno.h
│ │ ├── fcntl.h
│ │ ├── features.h
│ │ ├── fenv.h
│ │ ├── file.h
│ │ ├── iconvnls.h
│ │ ├── lock.h
│ │ ├── param.h
│ │ ├── queue.h
│ │ ├── reent.h
│ │ ├── resource.h
│ │ ├── sched.h
│ │ ├── select.h
│ │ ├── signal.h
│ │ ├── stat.h
│ │ ├── stdio.h
│ │ ├── string.h
│ │ ├── syslimits.h
│ │ ├── time.h
│ │ ├── timeb.h
│ │ ├── times.h
│ │ ├── timespec.h
│ │ ├── tree.h
│ │ ├── types.h
│ │ ├── unistd.h
│ │ ├── utime.h
│ │ └── wait.h
│ ├── tar.h
│ ├── termios.h
│ ├── tgmath.h
│ ├── threads.h
│ ├── time.h
│ ├── unctrl.h
│ ├── unistd.h
│ ├── utime.h
│ ├── utmp.h
│ ├── wchar.h
│ ├── wctype.h
│ └── wordexp.h
├── lib
│ ├── crt0.o
│ ├── default.specs
│ ├── libc.a
│ ├── libc_nano.a
│ ├── libg.a
│ ├── libg_nano.a
│ ├── libgloss.a
│ ├── libm.a
│ ├── libm_nano.a
│ ├── libnosys.a
│ ├── libsim.a
│ ├── libstdc++.a
│ ├── libstdc++.a-gdb.py
│ ├── libsupc++.a
│ ├── nano.specs
│ ├── no-rtti
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── nano.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ ├── nosys.specs
│ ├── rv32i
│ │ └── ilp32
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── libstdc++.a
│ │ ├── libstdc++.a-gdb.py
│ │ ├── libsupc++.a
│ │ ├── nano.specs
│ │ ├── no-rtti
│ │ │ ├── crt0.o
│ │ │ ├── default.specs
│ │ │ ├── libc.a
│ │ │ ├── libc_nano.a
│ │ │ ├── libg.a
│ │ │ ├── libg_nano.a
│ │ │ ├── libgloss.a
│ │ │ ├── libm.a
│ │ │ ├── libm_nano.a
│ │ │ ├── libnosys.a
│ │ │ ├── libsim.a
│ │ │ ├── libstdc++.a
│ │ │ ├── libstdc++.a-gdb.py
│ │ │ ├── libsupc++.a
│ │ │ ├── nano.specs
│ │ │ ├── nosys.specs
│ │ │ └── sim.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ ├── rv32imafc
│ │ └── ilp32f
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── libstdc++.a
│ │ ├── libstdc++.a-gdb.py
│ │ ├── libsupc++.a
│ │ ├── nano.specs
│ │ ├── no-rtti
│ │ │ ├── crt0.o
│ │ │ ├── default.specs
│ │ │ ├── libc.a
│ │ │ ├── libc_nano.a
│ │ │ ├── libg.a
│ │ │ ├── libg_nano.a
│ │ │ ├── libgloss.a
│ │ │ ├── libm.a
│ │ │ ├── libm_nano.a
│ │ │ ├── libnosys.a
│ │ │ ├── libsim.a
│ │ │ ├── libstdc++.a
│ │ │ ├── libstdc++.a-gdb.py
│ │ │ ├── libsupc++.a
│ │ │ ├── nano.specs
│ │ │ ├── nosys.specs
│ │ │ └── sim.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ ├── rv32imc
│ │ └── ilp32
│ │ ├── crt0.o
│ │ ├── default.specs
│ │ ├── libc.a
│ │ ├── libc_nano.a
│ │ ├── libg.a
│ │ ├── libg_nano.a
│ │ ├── libgloss.a
│ │ ├── libm.a
│ │ ├── libm_nano.a
│ │ ├── libnosys.a
│ │ ├── libsim.a
│ │ ├── libstdc++.a
│ │ ├── libstdc++.a-gdb.py
│ │ ├── libsupc++.a
│ │ ├── nano.specs
│ │ ├── no-rtti
│ │ │ ├── crt0.o
│ │ │ ├── default.specs
│ │ │ ├── libc.a
│ │ │ ├── libc_nano.a
│ │ │ ├── libg.a
│ │ │ ├── libg_nano.a
│ │ │ ├── libgloss.a
│ │ │ ├── libm.a
│ │ │ ├── libm_nano.a
│ │ │ ├── libnosys.a
│ │ │ ├── libsim.a
│ │ │ ├── libstdc++.a
│ │ │ ├── libstdc++.a-gdb.py
│ │ │ ├── libsupc++.a
│ │ │ ├── nano.specs
│ │ │ ├── nosys.specs
│ │ │ └── sim.specs
│ │ ├── nosys.specs
│ │ └── sim.specs
│ └── sim.specs
├── sys-include
│ ├── COPIED
│ ├── _ansi.h
│ ├── _newlib_version.h
│ ├── _syslist.h
│ ├── alloca.h
│ ├── ar.h
│ ├── argz.h
│ ├── assert.h
│ ├── bits
│ ├── complex.h
│ ├── cpio.h
│ ├── ctype.h
│ ├── devctl.h
│ ├── dirent.h
│ ├── elf.h
│ ├── envlock.h
│ ├── envz.h
│ ├── errno.h
│ ├── fastmath.h
│ ├── fcntl.h
│ ├── fenv.h
│ ├── fnmatch.h
│ ├── getopt.h
│ ├── glob.h
│ ├── grp.h
│ ├── iconv.h
│ ├── ieeefp.h
│ ├── inttypes.h
│ ├── langinfo.h
│ ├── libgen.h
│ ├── limits.h
│ ├── locale.h
│ ├── machine
│ │ ├── _arc4random.h
│ │ ├── _default_types.h
│ │ ├── _endian.h
│ │ ├── _time.h
│ │ ├── _types.h
│ │ ├── ansi.h
│ │ ├── endian.h
│ │ ├── fastmath.h
│ │ ├── ieeefp.h
│ │ ├── malloc.h
│ │ ├── param.h
│ │ ├── setjmp-dj.h
│ │ ├── setjmp.h
│ │ ├── stdlib.h
│ │ ├── syscall.h
│ │ ├── termios.h
│ │ ├── time.h
│ │ └── types.h
│ ├── malloc.h
│ ├── math.h
│ ├── memory.h
│ ├── ndbm.h
│ ├── newlib.h
│ ├── paths.h
│ ├── pthread.h
│ ├── pwd.h
│ ├── reent.h
│ ├── regdef.h
│ ├── regex.h
│ ├── rpc
│ ├── sched.h
│ ├── search.h
│ ├── setjmp.h
│ ├── signal.h
│ ├── spawn.h
│ ├── ssp
│ │ ├── ssp.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.h
│ │ ├── strings.h
│ │ ├── unistd.h
│ │ └── wchar.h
│ ├── stdatomic.h
│ ├── stdint.h
│ ├── stdio.h
│ ├── stdio_ext.h
│ ├── stdlib.h
│ ├── string.h
│ ├── strings.h
│ ├── sys
│ │ ├── _default_fcntl.h
│ │ ├── _intsup.h
│ │ ├── _locale.h
│ │ ├── _pthreadtypes.h
│ │ ├── _sigset.h
│ │ ├── _stdint.h
│ │ ├── _timespec.h
│ │ ├── _timeval.h
│ │ ├── _types.h
│ │ ├── asm.h
│ │ ├── cdefs.h
│ │ ├── config.h
│ │ ├── custom_file.h
│ │ ├── dir.h
│ │ ├── dirent.h
│ │ ├── errno.h
│ │ ├── fcntl.h
│ │ ├── features.h
│ │ ├── fenv.h
│ │ ├── file.h
│ │ ├── iconvnls.h
│ │ ├── lock.h
│ │ ├── param.h
│ │ ├── queue.h
│ │ ├── reent.h
│ │ ├── resource.h
│ │ ├── sched.h
│ │ ├── select.h
│ │ ├── signal.h
│ │ ├── stat.h
│ │ ├── stdio.h
│ │ ├── string.h
│ │ ├── syslimits.h
│ │ ├── time.h
│ │ ├── timeb.h
│ │ ├── times.h
│ │ ├── timespec.h
│ │ ├── tree.h
│ │ ├── types.h
│ │ ├── unistd.h
│ │ ├── utime.h
│ │ └── wait.h
│ ├── tar.h
│ ├── termios.h
│ ├── tgmath.h
│ ├── threads.h
│ ├── time.h
│ ├── unctrl.h
│ ├── unistd.h
│ ├── utime.h
│ ├── utmp.h
│ ├── wchar.h
│ ├── wctype.h
│ └── wordexp.h
└── usr
└── lib
93 directories, 1317 files
So this ended up being the sysroot, that wasn't the right directory. I've found the following paths on my system that when used as the sysroot with provide the same bindings as upstream:
_NEWLIB_VERSION
version 4.1.0
I believe I should be taking the one from the toolchain for best compatibility.
Not sure if this is still an issue or not, but the compilation and headers changed when adding hardware accelerated modular exponentiation and switching over to clang in #24, so I will close this.
When I try to generate bindings on a clean repo, using the following command:
cargo +stable run --manifest-path ./xtask/Cargo.toml
I get the following bindings diffs:
Additional information
clang
mbedtls
Toolchains
Stable:
esp: