@zigc/lib 0.17.0-dev.131 → 0.17.0-dev.215

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/c/stdlib.zig +32 -22
  2. package/compiler/aro/aro/Compilation.zig +0 -3
  3. package/compiler/translate-c/ast.zig +5 -2
  4. package/compiler_rt/arm.zig +3 -3
  5. package/compiler_rt/trunctfhf2.zig +3 -0
  6. package/compiler_rt.zig +1 -22
  7. package/docs/wasm/markdown/Parser.zig +5 -9
  8. package/include/__clang_spirv_builtins.h +12 -12
  9. package/include/__float_float.h +176 -0
  10. package/include/__float_header_macro.h +12 -0
  11. package/include/__float_infinity_nan.h +20 -0
  12. package/include/amo.h +131 -0
  13. package/include/amxavx512intrin.h +215 -1
  14. package/include/amxintrin.h +0 -2
  15. package/include/arm_acle.h +37 -27
  16. package/include/arm_neon.h +218 -82
  17. package/include/arm_sme.h +8 -8
  18. package/include/arm_sve.h +4162 -3782
  19. package/include/avx10_2_512bf16intrin.h +19 -12
  20. package/include/avx10_2_512convertintrin.h +1 -1
  21. package/include/avx10_2_512niintrin.h +31 -31
  22. package/include/avx10_2_512satcvtdsintrin.h +1 -1
  23. package/include/avx10_2bf16intrin.h +54 -45
  24. package/include/avx10_2convertintrin.h +2 -2
  25. package/include/avx10_2copyintrin.h +1 -1
  26. package/include/avx10_2niintrin.h +14 -14
  27. package/include/avx10_2satcvtdsintrin.h +2 -2
  28. package/include/avx2intrin.h +275 -377
  29. package/include/avx512bf16intrin.h +25 -16
  30. package/include/avx512bitalgintrin.h +19 -30
  31. package/include/avx512bwintrin.h +386 -505
  32. package/include/avx512cdintrin.h +42 -55
  33. package/include/avx512dqintrin.h +132 -161
  34. package/include/avx512fintrin.h +1015 -1424
  35. package/include/avx512fp16intrin.h +112 -110
  36. package/include/avx512ifmaintrin.h +32 -34
  37. package/include/avx512ifmavlintrin.h +73 -46
  38. package/include/avx512vbmi2intrin.h +43 -32
  39. package/include/avx512vbmiintrin.h +19 -27
  40. package/include/avx512vbmivlintrin.h +35 -49
  41. package/include/avx512vlbf16intrin.h +32 -22
  42. package/include/avx512vlbitalgintrin.h +37 -53
  43. package/include/avx512vlbwintrin.h +470 -573
  44. package/include/avx512vlcdintrin.h +74 -102
  45. package/include/avx512vldqintrin.h +110 -127
  46. package/include/avx512vlfp16intrin.h +130 -111
  47. package/include/avx512vlintrin.h +945 -1299
  48. package/include/avx512vlvbmi2intrin.h +78 -63
  49. package/include/avx512vlvnniintrin.h +21 -18
  50. package/include/avx512vlvp2intersectintrin.h +2 -2
  51. package/include/avx512vnniintrin.h +10 -10
  52. package/include/avx512vp2intersectintrin.h +1 -2
  53. package/include/avx512vpopcntdqintrin.h +8 -10
  54. package/include/avx512vpopcntdqvlintrin.h +17 -15
  55. package/include/avxifmaintrin.h +16 -0
  56. package/include/avxintrin.h +165 -241
  57. package/include/avxvnniint16intrin.h +118 -99
  58. package/include/avxvnniint8intrin.h +56 -32
  59. package/include/avxvnniintrin.h +16 -8
  60. package/include/cpuid.h +101 -4
  61. package/include/emmintrin.h +168 -168
  62. package/include/f16cintrin.h +23 -9
  63. package/include/float.h +16 -155
  64. package/include/fma4intrin.h +98 -96
  65. package/include/fmaintrin.h +96 -66
  66. package/include/gfniintrin.h +21 -16
  67. package/include/hexagon_types.h +23 -20
  68. package/include/hvx_hexagon_protos.h +649 -860
  69. package/include/immintrin.h +0 -12
  70. package/include/intrin.h +4 -0
  71. package/include/lasxintrin.h +113 -0
  72. package/include/llvm_libc_wrappers/assert.h +3 -5
  73. package/include/llvm_libc_wrappers/ctype.h +3 -115
  74. package/include/llvm_libc_wrappers/inttypes.h +3 -5
  75. package/include/llvm_libc_wrappers/stdio.h +10 -38
  76. package/include/llvm_libc_wrappers/stdlib.h +3 -24
  77. package/include/llvm_libc_wrappers/string.h +2 -70
  78. package/include/llvm_libc_wrappers/time.h +4 -10
  79. package/include/mmintrin.h +188 -257
  80. package/include/module.modulemap +23 -4
  81. package/include/movrs_avx10_2_512intrin.h +2 -2
  82. package/include/movrs_avx10_2intrin.h +4 -4
  83. package/include/pmmintrin.h +12 -24
  84. package/include/ptrauth.h +16 -2
  85. package/include/riscv_mips.h +34 -0
  86. package/include/riscv_nds.h +89 -0
  87. package/include/sifive_vector.h +58 -2
  88. package/include/sm4evexintrin.h +2 -2
  89. package/include/smmintrin.h +77 -59
  90. package/include/spirvintrin.h +194 -0
  91. package/include/stddefer.h +19 -0
  92. package/include/tmmintrin.h +116 -147
  93. package/include/vaesintrin.h +1 -2
  94. package/include/xmmintrin.h +44 -70
  95. package/include/xopintrin.h +20 -10
  96. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  97. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  98. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  99. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  100. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  101. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  102. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  103. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  104. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  105. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  106. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  107. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  108. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  109. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  110. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  111. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  112. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  113. package/libc/include/any-linux-any/linux/elf.h +2 -0
  114. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  115. package/libc/include/any-linux-any/linux/fs.h +1 -0
  116. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  117. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  118. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  119. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  120. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  121. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  122. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  123. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  124. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  125. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  126. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  127. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  128. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  129. package/libc/include/any-linux-any/linux/magic.h +1 -0
  130. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  131. package/libc/include/any-linux-any/linux/mount.h +11 -2
  132. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  133. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  134. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  135. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  136. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  137. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  138. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  139. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  140. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  141. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  142. package/libc/include/any-linux-any/linux/pci.h +7 -0
  143. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  144. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  145. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  146. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  147. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  148. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  149. package/libc/include/any-linux-any/linux/shm.h +0 -1
  150. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  151. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  152. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  153. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  154. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  155. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  156. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  157. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  158. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  159. package/libc/include/any-linux-any/linux/version.h +3 -3
  160. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  161. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  162. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  163. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  164. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  165. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  166. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  167. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  168. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  169. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  170. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  171. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  172. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  173. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  174. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  175. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  176. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  177. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  178. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  179. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  180. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  181. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  182. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  183. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  184. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  185. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  186. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  187. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  188. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  189. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  190. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  191. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  192. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  193. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  194. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  195. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  196. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  197. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  198. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  199. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  200. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  201. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  202. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  203. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  204. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  205. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  206. package/libcxx/include/__algorithm/all_of.h +11 -5
  207. package/libcxx/include/__algorithm/comp.h +4 -0
  208. package/libcxx/include/__algorithm/copy.h +28 -147
  209. package/libcxx/include/__algorithm/copy_backward.h +9 -24
  210. package/libcxx/include/__algorithm/copy_n.h +50 -16
  211. package/libcxx/include/__algorithm/count.h +2 -2
  212. package/libcxx/include/__algorithm/equal.h +43 -55
  213. package/libcxx/include/__algorithm/fill.h +26 -8
  214. package/libcxx/include/__algorithm/fill_n.h +32 -46
  215. package/libcxx/include/__algorithm/find.h +96 -39
  216. package/libcxx/include/__algorithm/find_end.h +105 -0
  217. package/libcxx/include/__algorithm/for_each.h +18 -24
  218. package/libcxx/include/__algorithm/for_each_n.h +20 -47
  219. package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
  220. package/libcxx/include/__algorithm/for_each_segment.h +26 -0
  221. package/libcxx/include/__algorithm/generate.h +4 -2
  222. package/libcxx/include/__algorithm/generate_n.h +19 -6
  223. package/libcxx/include/__algorithm/is_permutation.h +4 -4
  224. package/libcxx/include/__algorithm/iterator_operations.h +3 -0
  225. package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
  226. package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
  227. package/libcxx/include/__algorithm/make_heap.h +16 -4
  228. package/libcxx/include/__algorithm/mismatch.h +2 -2
  229. package/libcxx/include/__algorithm/move.h +8 -19
  230. package/libcxx/include/__algorithm/move_backward.h +9 -24
  231. package/libcxx/include/__algorithm/none_of.h +4 -4
  232. package/libcxx/include/__algorithm/partial_sort.h +1 -1
  233. package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
  234. package/libcxx/include/__algorithm/pstl.h +9 -9
  235. package/libcxx/include/__algorithm/radix_sort.h +27 -25
  236. package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
  237. package/libcxx/include/__algorithm/ranges_equal.h +17 -26
  238. package/libcxx/include/__algorithm/ranges_fill.h +7 -6
  239. package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
  240. package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
  241. package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
  242. package/libcxx/include/__algorithm/rotate.h +27 -44
  243. package/libcxx/include/__algorithm/search_n.h +49 -37
  244. package/libcxx/include/__algorithm/sift_down.h +19 -18
  245. package/libcxx/include/__algorithm/simd_utils.h +33 -4
  246. package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
  247. package/libcxx/include/__algorithm/stable_sort.h +1 -1
  248. package/libcxx/include/__assertion_handler +31 -4
  249. package/libcxx/include/__atomic/atomic.h +36 -60
  250. package/libcxx/include/__atomic/atomic_flag.h +19 -37
  251. package/libcxx/include/__atomic/atomic_ref.h +29 -12
  252. package/libcxx/include/__atomic/atomic_sync.h +127 -55
  253. package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
  254. package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
  255. package/libcxx/include/__atomic/contention_t.h +27 -3
  256. package/libcxx/include/__atomic/floating_point_helper.h +55 -0
  257. package/libcxx/include/__bit/countl.h +1 -2
  258. package/libcxx/include/__bit/countr.h +1 -2
  259. package/libcxx/include/__bit/has_single_bit.h +1 -1
  260. package/libcxx/include/__bit/popcount.h +0 -1
  261. package/libcxx/include/__bit/rotate.h +15 -26
  262. package/libcxx/include/__bit_reference +207 -18
  263. package/libcxx/include/__charconv/from_chars_integral.h +1 -1
  264. package/libcxx/include/__charconv/from_chars_result.h +1 -1
  265. package/libcxx/include/__charconv/to_chars_integral.h +1 -0
  266. package/libcxx/include/__charconv/to_chars_result.h +1 -1
  267. package/libcxx/include/__charconv/traits.h +3 -24
  268. package/libcxx/include/__chrono/day.h +11 -0
  269. package/libcxx/include/__chrono/duration.h +58 -33
  270. package/libcxx/include/__chrono/file_clock.h +4 -2
  271. package/libcxx/include/__chrono/is_clock.h +72 -0
  272. package/libcxx/include/__chrono/leap_second.h +13 -0
  273. package/libcxx/include/__chrono/month.h +13 -0
  274. package/libcxx/include/__chrono/month_weekday.h +22 -0
  275. package/libcxx/include/__chrono/monthday.h +20 -0
  276. package/libcxx/include/__chrono/steady_clock.h +1 -1
  277. package/libcxx/include/__chrono/system_clock.h +3 -3
  278. package/libcxx/include/__chrono/time_point.h +37 -13
  279. package/libcxx/include/__chrono/weekday.h +25 -0
  280. package/libcxx/include/__chrono/year.h +11 -0
  281. package/libcxx/include/__chrono/year_month.h +13 -0
  282. package/libcxx/include/__chrono/year_month_day.h +23 -0
  283. package/libcxx/include/__chrono/year_month_weekday.h +26 -0
  284. package/libcxx/include/__chrono/zoned_time.h +16 -0
  285. package/libcxx/include/__compare/is_eq.h +6 -6
  286. package/libcxx/include/__compare/strong_order.h +12 -30
  287. package/libcxx/include/__compare/three_way_comparable.h +2 -2
  288. package/libcxx/include/__concepts/comparison_common_type.h +40 -0
  289. package/libcxx/include/__concepts/equality_comparable.h +2 -1
  290. package/libcxx/include/__condition_variable/condition_variable.h +1 -1
  291. package/libcxx/include/__config +63 -280
  292. package/libcxx/include/__configuration/abi.h +14 -24
  293. package/libcxx/include/__configuration/availability.h +65 -118
  294. package/libcxx/include/__configuration/compiler.h +6 -6
  295. package/libcxx/include/__configuration/experimental.h +38 -0
  296. package/libcxx/include/__configuration/hardening.h +215 -0
  297. package/libcxx/include/__configuration/language.h +3 -0
  298. package/libcxx/include/__configuration/platform.h +9 -16
  299. package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
  300. package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
  301. package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
  302. package/libcxx/include/__exception/exception.h +6 -4
  303. package/libcxx/include/__exception/exception_ptr.h +27 -5
  304. package/libcxx/include/__exception/nested_exception.h +2 -2
  305. package/libcxx/include/__exception/operations.h +5 -5
  306. package/libcxx/include/__expected/bad_expected_access.h +8 -6
  307. package/libcxx/include/__expected/expected.h +62 -64
  308. package/libcxx/include/__expected/unexpected.h +4 -4
  309. package/libcxx/include/__filesystem/copy_options.h +4 -4
  310. package/libcxx/include/__filesystem/directory_entry.h +37 -33
  311. package/libcxx/include/__filesystem/directory_iterator.h +9 -11
  312. package/libcxx/include/__filesystem/directory_options.h +7 -4
  313. package/libcxx/include/__filesystem/file_status.h +3 -3
  314. package/libcxx/include/__filesystem/filesystem_error.h +9 -10
  315. package/libcxx/include/__filesystem/operations.h +97 -66
  316. package/libcxx/include/__filesystem/path.h +68 -64
  317. package/libcxx/include/__filesystem/path_iterator.h +1 -3
  318. package/libcxx/include/__filesystem/perm_options.h +4 -4
  319. package/libcxx/include/__filesystem/perms.h +4 -4
  320. package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
  321. package/libcxx/include/__filesystem/space_info.h +1 -1
  322. package/libcxx/include/__filesystem/u8path.h +12 -14
  323. package/libcxx/include/__flat_map/flat_map.h +88 -71
  324. package/libcxx/include/__flat_map/flat_multimap.h +251 -172
  325. package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
  326. package/libcxx/include/__flat_map/utils.h +1 -0
  327. package/libcxx/include/__flat_set/flat_multiset.h +211 -143
  328. package/libcxx/include/__flat_set/flat_set.h +86 -68
  329. package/libcxx/include/__format/concepts.h +0 -14
  330. package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
  331. package/libcxx/include/__format/fmt_pair_like.h +42 -0
  332. package/libcxx/include/__format/format_arg.h +7 -10
  333. package/libcxx/include/__format/format_args.h +1 -1
  334. package/libcxx/include/__format/format_context.h +5 -5
  335. package/libcxx/include/__format/format_parse_context.h +2 -2
  336. package/libcxx/include/__format/formatter_output.h +30 -34
  337. package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
  338. package/libcxx/include/__format/range_default_formatter.h +2 -41
  339. package/libcxx/include/__format/range_format.h +71 -0
  340. package/libcxx/include/__format/range_formatter.h +1 -0
  341. package/libcxx/include/__format/width_estimation_table.h +4 -2
  342. package/libcxx/include/__functional/bind.h +10 -15
  343. package/libcxx/include/__functional/bind_back.h +1 -1
  344. package/libcxx/include/__functional/bind_front.h +1 -1
  345. package/libcxx/include/__functional/function.h +57 -75
  346. package/libcxx/include/__functional/hash.h +1 -10
  347. package/libcxx/include/__functional/identity.h +1 -1
  348. package/libcxx/include/__functional/is_transparent.h +8 -0
  349. package/libcxx/include/__functional/mem_fn.h +2 -1
  350. package/libcxx/include/__functional/operations.h +18 -0
  351. package/libcxx/include/__functional/ranges_operations.h +7 -0
  352. package/libcxx/include/__functional/reference_wrapper.h +7 -5
  353. package/libcxx/include/__functional/weak_result_type.h +14 -28
  354. package/libcxx/include/__fwd/ios.h +1 -1
  355. package/libcxx/include/__fwd/tuple.h +14 -0
  356. package/libcxx/include/__hash_table +371 -357
  357. package/libcxx/include/__ios/fpos.h +4 -4
  358. package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
  359. package/libcxx/include/__iterator/bounded_iter.h +7 -8
  360. package/libcxx/include/__iterator/concepts.h +6 -9
  361. package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
  362. package/libcxx/include/__iterator/distance.h +40 -18
  363. package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
  364. package/libcxx/include/__iterator/insert_iterator.h +1 -7
  365. package/libcxx/include/__iterator/istream_iterator.h +6 -7
  366. package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
  367. package/libcxx/include/__iterator/iter_move.h +1 -1
  368. package/libcxx/include/__iterator/iterator.h +13 -0
  369. package/libcxx/include/__iterator/iterator_traits.h +13 -14
  370. package/libcxx/include/__iterator/ostream_iterator.h +1 -7
  371. package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
  372. package/libcxx/include/__iterator/reverse_iterator.h +8 -13
  373. package/libcxx/include/__iterator/segmented_iterator.h +3 -8
  374. package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
  375. package/libcxx/include/__iterator/wrap_iter.h +8 -6
  376. package/libcxx/include/__locale +3 -10
  377. package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
  378. package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
  379. package/libcxx/include/__locale_dir/messages.h +1 -1
  380. package/libcxx/include/__locale_dir/money.h +2 -2
  381. package/libcxx/include/__locale_dir/num.h +190 -243
  382. package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
  383. package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
  384. package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
  385. package/libcxx/include/__locale_dir/support/linux.h +0 -37
  386. package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
  387. package/libcxx/include/__locale_dir/support/newlib.h +243 -0
  388. package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
  389. package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
  390. package/libcxx/include/__locale_dir/support/windows.h +0 -29
  391. package/libcxx/include/__locale_dir/time.h +3 -7
  392. package/libcxx/include/__math/hypot.h +1 -1
  393. package/libcxx/include/__math/logarithms.h +1 -1
  394. package/libcxx/include/__math/traits.h +80 -11
  395. package/libcxx/include/__mdspan/extents.h +7 -4
  396. package/libcxx/include/__mdspan/layout_stride.h +4 -5
  397. package/libcxx/include/__mdspan/mdspan.h +29 -23
  398. package/libcxx/include/__memory/addressof.h +7 -5
  399. package/libcxx/include/__memory/align.h +18 -1
  400. package/libcxx/include/__memory/allocate_at_least.h +15 -10
  401. package/libcxx/include/__memory/allocator.h +14 -26
  402. package/libcxx/include/__memory/allocator_traits.h +6 -4
  403. package/libcxx/include/__memory/compressed_pair.h +15 -9
  404. package/libcxx/include/__memory/construct_at.h +12 -23
  405. package/libcxx/include/__memory/inout_ptr.h +1 -1
  406. package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
  407. package/libcxx/include/__memory/out_ptr.h +1 -1
  408. package/libcxx/include/__memory/pointer_traits.h +1 -1
  409. package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
  410. package/libcxx/include/__memory/shared_count.h +9 -30
  411. package/libcxx/include/__memory/shared_ptr.h +100 -145
  412. package/libcxx/include/__memory/temp_value.h +1 -2
  413. package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
  414. package/libcxx/include/__memory/unique_ptr.h +14 -16
  415. package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
  416. package/libcxx/include/__memory_resource/memory_resource.h +4 -2
  417. package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
  418. package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
  419. package/libcxx/include/__memory_resource/pool_options.h +1 -1
  420. package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
  421. package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
  422. package/libcxx/include/__mutex/mutex.h +2 -2
  423. package/libcxx/include/__mutex/once_flag.h +14 -11
  424. package/libcxx/include/__mutex/tag_types.h +3 -3
  425. package/libcxx/include/__mutex/unique_lock.h +8 -7
  426. package/libcxx/include/__new/align_val_t.h +6 -0
  427. package/libcxx/include/__new/allocate.h +1 -2
  428. package/libcxx/include/__new/exceptions.h +8 -2
  429. package/libcxx/include/__new/global_new_delete.h +4 -11
  430. package/libcxx/include/__new/interference_size.h +0 -4
  431. package/libcxx/include/__new/launder.h +3 -5
  432. package/libcxx/include/__new/nothrow_t.h +1 -1
  433. package/libcxx/include/__numeric/gcd_lcm.h +24 -34
  434. package/libcxx/include/__numeric/midpoint.h +9 -14
  435. package/libcxx/include/__numeric/pstl.h +2 -2
  436. package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
  437. package/libcxx/include/__ostream/basic_ostream.h +8 -8
  438. package/libcxx/include/__pstl/backends/default.h +14 -14
  439. package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
  440. package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
  441. package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
  442. package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
  443. package/libcxx/include/__random/binomial_distribution.h +10 -4
  444. package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
  445. package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
  446. package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
  447. package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
  448. package/libcxx/include/__ranges/adjacent_view.h +419 -0
  449. package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
  450. package/libcxx/include/__ranges/chunk_by_view.h +6 -6
  451. package/libcxx/include/__ranges/common_view.h +7 -7
  452. package/libcxx/include/__ranges/drop_view.h +8 -8
  453. package/libcxx/include/__ranges/drop_while_view.h +5 -5
  454. package/libcxx/include/__ranges/elements_of.h +49 -0
  455. package/libcxx/include/__ranges/empty_view.h +5 -5
  456. package/libcxx/include/__ranges/filter_view.h +10 -10
  457. package/libcxx/include/__ranges/iota_view.h +41 -22
  458. package/libcxx/include/__ranges/owning_view.h +15 -15
  459. package/libcxx/include/__ranges/ref_view.h +6 -6
  460. package/libcxx/include/__ranges/repeat_view.h +17 -10
  461. package/libcxx/include/__ranges/single_view.h +8 -8
  462. package/libcxx/include/__ranges/take_view.h +9 -9
  463. package/libcxx/include/__ranges/transform_view.h +1 -2
  464. package/libcxx/include/__ranges/view_interface.h +10 -10
  465. package/libcxx/include/__ranges/zip_transform_view.h +357 -0
  466. package/libcxx/include/__ranges/zip_view.h +20 -20
  467. package/libcxx/include/__split_buffer +612 -240
  468. package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
  469. package/libcxx/include/__stop_token/stop_callback.h +2 -2
  470. package/libcxx/include/__stop_token/stop_source.h +1 -1
  471. package/libcxx/include/__stop_token/stop_state.h +4 -4
  472. package/libcxx/include/__stop_token/stop_token.h +1 -1
  473. package/libcxx/include/__string/char_traits.h +51 -31
  474. package/libcxx/include/__string/constexpr_c_functions.h +5 -5
  475. package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
  476. package/libcxx/include/__system_error/error_category.h +8 -8
  477. package/libcxx/include/__system_error/error_code.h +5 -5
  478. package/libcxx/include/__system_error/error_condition.h +4 -4
  479. package/libcxx/include/__system_error/system_error.h +1 -1
  480. package/libcxx/include/__thread/id.h +1 -1
  481. package/libcxx/include/__thread/jthread.h +1 -1
  482. package/libcxx/include/__thread/poll_with_backoff.h +27 -8
  483. package/libcxx/include/__thread/support/c11.h +8 -8
  484. package/libcxx/include/__thread/support/pthread.h +8 -8
  485. package/libcxx/include/__thread/support/windows.h +8 -8
  486. package/libcxx/include/__thread/thread.h +13 -8
  487. package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
  488. package/libcxx/include/__tree +849 -701
  489. package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
  490. package/libcxx/include/__tuple/tuple_element.h +0 -12
  491. package/libcxx/include/__tuple/tuple_size.h +0 -4
  492. package/libcxx/include/__tuple/tuple_transform.h +45 -0
  493. package/libcxx/include/__type_traits/aligned_storage.h +13 -40
  494. package/libcxx/include/__type_traits/desugars_to.h +4 -0
  495. package/libcxx/include/__type_traits/invoke.h +8 -0
  496. package/libcxx/include/__type_traits/is_allocator.h +6 -7
  497. package/libcxx/include/__type_traits/is_array.h +26 -0
  498. package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
  499. package/libcxx/include/__type_traits/is_final.h +1 -1
  500. package/libcxx/include/__type_traits/is_floating_point.h +7 -6
  501. package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
  502. package/libcxx/include/__type_traits/is_specialization.h +2 -6
  503. package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
  504. package/libcxx/include/__type_traits/make_transparent.h +52 -0
  505. package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
  506. package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
  507. package/libcxx/include/__utility/cmp.h +19 -7
  508. package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
  509. package/libcxx/include/__utility/in_place.h +1 -1
  510. package/libcxx/include/__utility/integer_sequence.h +56 -41
  511. package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
  512. package/libcxx/include/__utility/pair.h +22 -25
  513. package/libcxx/include/__utility/scope_guard.h +2 -0
  514. package/libcxx/include/__utility/try_key_extraction.h +114 -0
  515. package/libcxx/include/__vector/vector.h +187 -160
  516. package/libcxx/include/__vector/vector_bool.h +76 -83
  517. package/libcxx/include/any +118 -155
  518. package/libcxx/include/array +88 -56
  519. package/libcxx/include/atomic +2 -0
  520. package/libcxx/include/barrier +20 -24
  521. package/libcxx/include/bitset +49 -30
  522. package/libcxx/include/ccomplex +3 -11
  523. package/libcxx/include/chrono +47 -0
  524. package/libcxx/include/ciso646 +3 -6
  525. package/libcxx/include/complex +77 -65
  526. package/libcxx/include/complex.h +10 -10
  527. package/libcxx/include/condition_variable +3 -3
  528. package/libcxx/include/cstdalign +3 -10
  529. package/libcxx/include/cstdbool +3 -10
  530. package/libcxx/include/ctgmath +2 -11
  531. package/libcxx/include/ctype.h +24 -24
  532. package/libcxx/include/cwchar +2 -2
  533. package/libcxx/include/deque +109 -225
  534. package/libcxx/include/errno.h +269 -269
  535. package/libcxx/include/exception +4 -1
  536. package/libcxx/include/ext/hash_map +7 -48
  537. package/libcxx/include/ext/hash_set +2 -8
  538. package/libcxx/include/fenv.h +43 -43
  539. package/libcxx/include/flat_map +663 -11
  540. package/libcxx/include/flat_set +543 -8
  541. package/libcxx/include/float.h +16 -16
  542. package/libcxx/include/forward_list +33 -53
  543. package/libcxx/include/fstream +57 -42
  544. package/libcxx/include/future +41 -51
  545. package/libcxx/include/initializer_list +9 -3
  546. package/libcxx/include/inttypes.h +16 -16
  547. package/libcxx/include/ios +28 -28
  548. package/libcxx/include/istream +19 -13
  549. package/libcxx/include/iterator +10 -0
  550. package/libcxx/include/latch +7 -5
  551. package/libcxx/include/limits +4 -4
  552. package/libcxx/include/list +61 -79
  553. package/libcxx/include/map +386 -274
  554. package/libcxx/include/math.h +19 -0
  555. package/libcxx/include/mdspan +1 -5
  556. package/libcxx/include/mutex +29 -19
  557. package/libcxx/include/optional +644 -149
  558. package/libcxx/include/print +9 -5
  559. package/libcxx/include/queue +39 -37
  560. package/libcxx/include/ranges +48 -0
  561. package/libcxx/include/regex +33 -31
  562. package/libcxx/include/scoped_allocator +16 -11
  563. package/libcxx/include/semaphore +15 -18
  564. package/libcxx/include/set +220 -192
  565. package/libcxx/include/shared_mutex +3 -8
  566. package/libcxx/include/span +53 -37
  567. package/libcxx/include/sstream +34 -28
  568. package/libcxx/include/stack +13 -15
  569. package/libcxx/include/stddef.h +10 -10
  570. package/libcxx/include/stdexcept +2 -2
  571. package/libcxx/include/stdio.h +20 -21
  572. package/libcxx/include/streambuf +59 -19
  573. package/libcxx/include/string +574 -573
  574. package/libcxx/include/string_view +113 -89
  575. package/libcxx/include/strstream +10 -10
  576. package/libcxx/include/syncstream +4 -4
  577. package/libcxx/include/tgmath.h +12 -12
  578. package/libcxx/include/tuple +242 -212
  579. package/libcxx/include/type_traits +8 -2
  580. package/libcxx/include/typeindex +5 -3
  581. package/libcxx/include/typeinfo +92 -89
  582. package/libcxx/include/unordered_map +179 -304
  583. package/libcxx/include/unordered_set +168 -195
  584. package/libcxx/include/utility +12 -0
  585. package/libcxx/include/valarray +106 -161
  586. package/libcxx/include/variant +25 -33
  587. package/libcxx/include/version +41 -24
  588. package/libcxx/include/wctype.h +29 -29
  589. package/libcxx/src/any.cpp +4 -0
  590. package/libcxx/src/atomic.cpp +365 -80
  591. package/libcxx/src/barrier.cpp +4 -3
  592. package/libcxx/src/charconv.cpp +6 -3
  593. package/libcxx/src/condition_variable_destructor.cpp +1 -1
  594. package/libcxx/src/error_category.cpp +3 -1
  595. package/libcxx/src/exception.cpp +2 -10
  596. package/libcxx/src/experimental/time_zone.cpp +1 -1
  597. package/libcxx/src/experimental/tzdb.cpp +4 -1
  598. package/libcxx/src/filesystem/error.h +4 -22
  599. package/libcxx/src/filesystem/format_string.h +9 -18
  600. package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
  601. package/libcxx/src/filesystem/operations.cpp +2 -9
  602. package/libcxx/src/filesystem/path.cpp +3 -1
  603. package/libcxx/src/include/aligned_alloc.h +65 -0
  604. package/libcxx/src/include/config_elast.h +1 -1
  605. package/libcxx/src/include/from_chars_floating_point.h +11 -7
  606. package/libcxx/src/include/overridable_function.h +8 -10
  607. package/libcxx/src/iostream.cpp +56 -37
  608. package/libcxx/src/locale.cpp +213 -196
  609. package/libcxx/src/memory.cpp +12 -14
  610. package/libcxx/src/mutex_destructor.cpp +1 -1
  611. package/libcxx/src/new.cpp +5 -5
  612. package/libcxx/src/optional.cpp +4 -0
  613. package/libcxx/src/print.cpp +9 -1
  614. package/libcxx/src/random.cpp +0 -26
  615. package/libcxx/src/string.cpp +10 -25
  616. package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
  617. package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
  618. package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
  619. package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
  620. package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
  621. package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
  622. package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
  623. package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
  624. package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
  625. package/libcxx/src/support/win32/locale_win32.cpp +1 -1
  626. package/libcxx/src/system_error.cpp +2 -0
  627. package/libcxx/src/thread.cpp +1 -3
  628. package/libcxx/src/valarray.cpp +1 -2
  629. package/libcxx/src/vector.cpp +2 -2
  630. package/libcxxabi/include/__cxxabi_config.h +42 -23
  631. package/libcxxabi/src/cxa_exception.cpp +4 -2
  632. package/libcxxabi/src/cxa_exception.h +16 -14
  633. package/libcxxabi/src/cxa_personality.cpp +126 -9
  634. package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
  635. package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
  636. package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
  637. package/libcxxabi/src/demangle/Utility.h +21 -7
  638. package/libcxxabi/src/fallback_malloc.cpp +1 -1
  639. package/libcxxabi/src/private_typeinfo.cpp +6 -0
  640. package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
  641. package/libtsan/LICENSE.TXT +311 -0
  642. package/libtsan/builtins/assembly.h +41 -8
  643. package/libtsan/interception/interception_win.cpp +4 -0
  644. package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
  645. package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
  646. package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
  647. package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
  648. package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
  649. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
  650. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
  651. package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
  652. package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
  653. package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
  654. package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
  655. package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
  656. package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
  657. package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
  658. package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
  659. package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
  660. package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
  661. package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
  662. package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
  663. package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
  664. package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
  665. package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
  666. package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
  667. package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
  668. package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
  669. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
  670. package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
  671. package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
  672. package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
  673. package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
  674. package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
  675. package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
  676. package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
  677. package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
  678. package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
  679. package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
  680. package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
  681. package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
  682. package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
  683. package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
  684. package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
  685. package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
  686. package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
  687. package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
  688. package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
  689. package/libtsan/tsan_debugging.cpp +2 -2
  690. package/libtsan/tsan_flags.cpp +37 -0
  691. package/libtsan/tsan_flags.h +8 -0
  692. package/libtsan/tsan_flags.inc +12 -0
  693. package/libtsan/tsan_interceptors.h +9 -1
  694. package/libtsan/tsan_interceptors_mac.cpp +19 -0
  695. package/libtsan/tsan_interceptors_posix.cpp +78 -32
  696. package/libtsan/tsan_interface.h +3 -3
  697. package/libtsan/tsan_interface_ann.cpp +23 -9
  698. package/libtsan/tsan_mman.cpp +18 -4
  699. package/libtsan/tsan_platform.h +44 -7
  700. package/libtsan/tsan_platform_linux.cpp +42 -14
  701. package/libtsan/tsan_platform_mac.cpp +16 -3
  702. package/libtsan/tsan_report.h +14 -1
  703. package/libtsan/tsan_rtl.cpp +14 -0
  704. package/libtsan/tsan_rtl.h +7 -2
  705. package/libtsan/tsan_rtl_aarch64.S +3 -5
  706. package/libtsan/tsan_rtl_access.cpp +8 -3
  707. package/libtsan/tsan_rtl_amd64.S +2 -0
  708. package/libtsan/tsan_rtl_mutex.cpp +94 -49
  709. package/libtsan/tsan_rtl_report.cpp +132 -65
  710. package/libtsan/tsan_rtl_thread.cpp +31 -9
  711. package/libtsan/tsan_symbolize.cpp +1 -1
  712. package/libtsan/tsan_symbolize.h +1 -1
  713. package/libtsan/tsan_trace.h +1 -1
  714. package/libunwind/include/__libunwind_config.h +11 -2
  715. package/libunwind/include/libunwind.h +117 -11
  716. package/libunwind/include/unwind_arm_ehabi.h +4 -1
  717. package/libunwind/src/AddressSpace.hpp +40 -19
  718. package/libunwind/src/CompactUnwinder.hpp +16 -5
  719. package/libunwind/src/DwarfInstructions.hpp +24 -13
  720. package/libunwind/src/DwarfParser.hpp +60 -22
  721. package/libunwind/src/EHHeaderParser.hpp +7 -4
  722. package/libunwind/src/Registers.hpp +226 -22
  723. package/libunwind/src/Unwind-seh.cpp +6 -7
  724. package/libunwind/src/Unwind-wasm.c +7 -7
  725. package/libunwind/src/UnwindCursor.hpp +167 -49
  726. package/libunwind/src/UnwindLevel1.c +46 -17
  727. package/libunwind/src/UnwindRegistersRestore.S +46 -5
  728. package/libunwind/src/UnwindRegistersSave.S +86 -2
  729. package/libunwind/src/assembly.h +5 -1
  730. package/libunwind/src/config.h +9 -0
  731. package/libunwind/src/gcc_personality_v0.c +79 -6
  732. package/libunwind/src/libunwind.cpp +104 -4
  733. package/libunwind/src/libunwind_ext.h +7 -1
  734. package/libunwind/src/shadow_stack_unwind.h +2 -2
  735. package/lldb/pretty_printers.py +948 -0
  736. package/package.json +1 -1
  737. package/std/Build/Step/Compile.zig +18 -19
  738. package/std/Build/Step/Run.zig +13 -6
  739. package/std/Build/Step.zig +0 -3
  740. package/std/Io/Threaded.zig +3 -0
  741. package/std/Target/aarch64.zig +620 -77
  742. package/std/Target/amdgcn.zig +421 -21
  743. package/std/Target/arm.zig +40 -6
  744. package/std/Target/bpf.zig +6 -0
  745. package/std/Target/hexagon.zig +41 -6
  746. package/std/Target/loongarch.zig +18 -0
  747. package/std/Target/mips.zig +6 -0
  748. package/std/Target/nvptx.zig +58 -35
  749. package/std/Target/powerpc.zig +27 -19
  750. package/std/Target/riscv.zig +415 -177
  751. package/std/Target/sparc.zig +17 -0
  752. package/std/Target/wasm.zig +7 -0
  753. package/std/Target/x86.zig +200 -31
  754. package/std/Target/xtensa.zig +65 -0
  755. package/std/Target.zig +11 -2
  756. package/std/c.zig +7 -0
  757. package/std/debug/Dwarf.zig +14 -11
  758. package/std/debug/Pdb.zig +24 -16
  759. package/std/hash/xxhash.zig +0 -6
  760. package/std/math/log10.zig +0 -2
  761. package/std/math/modf.zig +0 -1
  762. package/std/mem.zig +1 -2
  763. package/std/os/linux/syscalls.zig +26 -1
  764. package/std/os/linux/x86.zig +2 -2
  765. package/std/os/windows.zig +130 -1
  766. package/std/simd.zig +4 -21
  767. package/std/start.zig +4 -3
  768. package/std/zig/Ast.zig +5 -7
  769. package/std/zig/AstGen.zig +20 -14
  770. package/std/zig/ErrorBundle.zig +6 -2
  771. package/std/zig/ZonGen.zig +13 -21
  772. package/std/zig/llvm/Builder.zig +2 -2
  773. package/std/zig/system/arm.zig +56 -2
  774. package/std/zig/system/windows.zig +34 -1
  775. package/std/zig/system/x86.zig +60 -16
  776. package/std/zig/system.zig +0 -10
  777. package/include/amxbf16transposeintrin.h +0 -94
  778. package/include/amxcomplextransposeintrin.h +0 -303
  779. package/include/amxfp16transposeintrin.h +0 -94
  780. package/include/amxmovrstransposeintrin.h +0 -200
  781. package/include/amxtf32transposeintrin.h +0 -105
  782. package/include/amxtransposeintrin.h +0 -248
  783. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  784. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
  785. package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
  786. package/std/Build/Step/CheckObject.zig +0 -2764
@@ -19,13 +19,20 @@ enum rseq_cpu_id_state {
19
19
  };
20
20
 
21
21
  enum rseq_flags {
22
- RSEQ_FLAG_UNREGISTER = (1 << 0),
22
+ RSEQ_FLAG_UNREGISTER = (1 << 0),
23
+ RSEQ_FLAG_SLICE_EXT_DEFAULT_ON = (1 << 1),
23
24
  };
24
25
 
25
26
  enum rseq_cs_flags_bit {
27
+ /* Historical and unsupported bits */
26
28
  RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0,
27
29
  RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1,
28
30
  RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2,
31
+ /* (3) Intentional gap to put new bits into a separate byte */
32
+
33
+ /* User read only feature flags */
34
+ RSEQ_CS_FLAG_SLICE_EXT_AVAILABLE_BIT = 4,
35
+ RSEQ_CS_FLAG_SLICE_EXT_ENABLED_BIT = 5,
29
36
  };
30
37
 
31
38
  enum rseq_cs_flags {
@@ -35,6 +42,11 @@ enum rseq_cs_flags {
35
42
  (1U << RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT),
36
43
  RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE =
37
44
  (1U << RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT),
45
+
46
+ RSEQ_CS_FLAG_SLICE_EXT_AVAILABLE =
47
+ (1U << RSEQ_CS_FLAG_SLICE_EXT_AVAILABLE_BIT),
48
+ RSEQ_CS_FLAG_SLICE_EXT_ENABLED =
49
+ (1U << RSEQ_CS_FLAG_SLICE_EXT_ENABLED_BIT),
38
50
  };
39
51
 
40
52
  /*
@@ -53,11 +65,39 @@ struct rseq_cs {
53
65
  __u64 abort_ip;
54
66
  } __attribute__((aligned(4 * sizeof(__u64))));
55
67
 
68
+ /**
69
+ * rseq_slice_ctrl - Time slice extension control structure
70
+ * @all: Compound value
71
+ * @request: Request for a time slice extension
72
+ * @granted: Granted time slice extension
73
+ *
74
+ * @request is set by user space and can be cleared by user space or kernel
75
+ * space. @granted is set and cleared by the kernel and must only be read
76
+ * by user space.
77
+ */
78
+ struct rseq_slice_ctrl {
79
+ union {
80
+ __u32 all;
81
+ struct {
82
+ __u8 request;
83
+ __u8 granted;
84
+ __u16 __reserved;
85
+ };
86
+ };
87
+ };
88
+
56
89
  /*
57
- * struct rseq is aligned on 4 * 8 bytes to ensure it is always
58
- * contained within a single cache-line.
90
+ * The original size and alignment of the allocation for struct rseq is
91
+ * 32 bytes.
92
+ *
93
+ * The allocation size needs to be greater or equal to
94
+ * max(getauxval(AT_RSEQ_FEATURE_SIZE), 32), and the allocation needs to
95
+ * be aligned on max(getauxval(AT_RSEQ_ALIGN), 32).
96
+ *
97
+ * As an alternative, userspace is allowed to use both the original size
98
+ * and alignment of 32 bytes for backward compatibility.
59
99
  *
60
- * A single struct rseq per thread is allowed.
100
+ * A single active struct rseq registration per thread is allowed.
61
101
  */
62
102
  struct rseq {
63
103
  /*
@@ -141,10 +181,27 @@ struct rseq {
141
181
  */
142
182
  __u32 mm_cid;
143
183
 
184
+ /*
185
+ * Time slice extension control structure. CPU local updates from
186
+ * kernel and user space.
187
+ */
188
+ struct rseq_slice_ctrl slice_ctrl;
189
+
190
+ /*
191
+ * Before rseq became extensible, its original size was 32 bytes even
192
+ * though the active rseq area was only 20 bytes.
193
+ * Exposing a 32 bytes feature size would make life needlessly painful
194
+ * for userspace. Therefore, add a reserved byte after byte 32
195
+ * to bump the rseq feature size from 32 to 33.
196
+ * The next field to be added to the rseq area will be larger
197
+ * than one byte, and will replace this reserved byte.
198
+ */
199
+ __u8 __reserved;
200
+
144
201
  /*
145
202
  * Flexible array member at end of structure, after last feature field.
146
203
  */
147
204
  char end[];
148
- } __attribute__((aligned(4 * sizeof(__u64))));
205
+ } __attribute__((aligned(32)));
149
206
 
150
207
  #endif /* _LINUX_RSEQ_H */
@@ -5,7 +5,6 @@
5
5
  #include <linux/ipc.h>
6
6
  #include <linux/errno.h>
7
7
  #include <asm-generic/hugetlb_encode.h>
8
- #include <unistd.h>
9
8
 
10
9
  /*
11
10
  * SHMMNI, SHMMAX and SHMALL are default upper limits which can be
@@ -69,6 +69,10 @@
69
69
  #define __counted_by_be(m)
70
70
  #endif
71
71
 
72
+ #ifndef __counted_by_ptr
73
+ #define __counted_by_ptr(m)
74
+ #endif
75
+
72
76
  #define __kernel_nonstring
73
77
 
74
78
  #endif /* _LINUX_STDDEF_H */
@@ -92,7 +92,6 @@ enum
92
92
  KERN_DOMAINNAME=8, /* string: domainname */
93
93
 
94
94
  KERN_PANIC=15, /* int: panic timeout */
95
- KERN_REALROOTDEV=16, /* real root device to mount after initrd */
96
95
 
97
96
  KERN_SPARC_REBOOT=21, /* reboot command on Sparc */
98
97
  KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */
@@ -183,7 +182,7 @@ enum
183
182
  VM_LOWMEM_RESERVE_RATIO=20,/* reservation ratio for lower memory zones */
184
183
  VM_MIN_FREE_KBYTES=21, /* Minimum free kilobytes to maintain */
185
184
  VM_MAX_MAP_COUNT=22, /* int: Maximum number of mmaps/address-space */
186
- VM_LAPTOP_MODE=23, /* vm laptop mode */
185
+
187
186
  VM_BLOCK_DUMP=24, /* block dump mode */
188
187
  VM_HUGETLB_GROUP=25, /* permitted hugetlb group */
189
188
  VM_VFS_CACHE_PRESSURE=26, /* dcache/icache reclaim pressure */
@@ -18,6 +18,7 @@
18
18
  #define _LINUX_TASKSTATS_H
19
19
 
20
20
  #include <linux/types.h>
21
+ #include <linux/time_types.h>
21
22
 
22
23
  /* Format for per-task data returned to userland when
23
24
  * - a task exits
@@ -34,7 +35,7 @@
34
35
  */
35
36
 
36
37
 
37
- #define TASKSTATS_VERSION 16
38
+ #define TASKSTATS_VERSION 17
38
39
  #define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN
39
40
  * in linux/sched.h */
40
41
 
@@ -230,6 +231,16 @@ struct taskstats {
230
231
 
231
232
  __u64 irq_delay_max;
232
233
  __u64 irq_delay_min;
234
+
235
+ /*v17: delay max timestamp record*/
236
+ struct __kernel_timespec cpu_delay_max_ts;
237
+ struct __kernel_timespec blkio_delay_max_ts;
238
+ struct __kernel_timespec swapin_delay_max_ts;
239
+ struct __kernel_timespec freepages_delay_max_ts;
240
+ struct __kernel_timespec thrashing_delay_max_ts;
241
+ struct __kernel_timespec compact_delay_max_ts;
242
+ struct __kernel_timespec wpcopy_delay_max_ts;
243
+ struct __kernel_timespec irq_delay_max_ts;
233
244
  };
234
245
 
235
246
 
@@ -226,6 +226,24 @@ enum tcp_ca_state {
226
226
  #define TCPF_CA_Loss (1<<TCP_CA_Loss)
227
227
  };
228
228
 
229
+ /* Values for tcpi_ecn_mode after negotiation */
230
+ #define TCPI_ECN_MODE_DISABLED 0x0
231
+ #define TCPI_ECN_MODE_RFC3168 0x1
232
+ #define TCPI_ECN_MODE_ACCECN 0x2
233
+ #define TCPI_ECN_MODE_PENDING 0x3
234
+
235
+ /* Values for accecn_opt_seen */
236
+ #define TCP_ACCECN_OPT_NOT_SEEN 0x0
237
+ #define TCP_ACCECN_OPT_EMPTY_SEEN 0x1
238
+ #define TCP_ACCECN_OPT_COUNTER_SEEN 0x2
239
+ #define TCP_ACCECN_OPT_FAIL_SEEN 0x3
240
+
241
+ /* Values for accecn_fail_mode */
242
+ #define TCP_ACCECN_ACE_FAIL_SEND BIT(0)
243
+ #define TCP_ACCECN_ACE_FAIL_RECV BIT(1)
244
+ #define TCP_ACCECN_OPT_FAIL_SEND BIT(2)
245
+ #define TCP_ACCECN_OPT_FAIL_RECV BIT(3)
246
+
229
247
  struct tcp_info {
230
248
  __u8 tcpi_state;
231
249
  __u8 tcpi_ca_state;
@@ -316,15 +334,17 @@ struct tcp_info {
316
334
  * in milliseconds, including any
317
335
  * unfinished recovery.
318
336
  */
319
- __u32 tcpi_received_ce; /* # of CE marks received */
337
+ __u32 tcpi_received_ce; /* # of CE marked segments received */
320
338
  __u32 tcpi_delivered_e1_bytes; /* Accurate ECN byte counters */
321
339
  __u32 tcpi_delivered_e0_bytes;
322
340
  __u32 tcpi_delivered_ce_bytes;
323
341
  __u32 tcpi_received_e1_bytes;
324
342
  __u32 tcpi_received_e0_bytes;
325
343
  __u32 tcpi_received_ce_bytes;
326
- __u16 tcpi_accecn_fail_mode;
327
- __u16 tcpi_accecn_opt_seen;
344
+ __u32 tcpi_ecn_mode:2,
345
+ tcpi_accecn_opt_seen:2,
346
+ tcpi_accecn_fail_mode:4,
347
+ tcpi_options2:24;
328
348
  };
329
349
 
330
350
  /* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
@@ -0,0 +1,8 @@
1
+ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
+ #ifndef _LINUX_TYPELIMITS_H
3
+ #define _LINUX_TYPELIMITS_H
4
+
5
+ #define __KERNEL_INT_MAX ((int)(~0U >> 1))
6
+ #define __KERNEL_INT_MIN (-__KERNEL_INT_MAX - 1)
7
+
8
+ #endif /* _LINUX_TYPELIMITS_H */
@@ -55,7 +55,8 @@
55
55
  _IOWR('u', 0x15, struct ublksrv_ctrl_cmd)
56
56
  #define UBLK_U_CMD_QUIESCE_DEV \
57
57
  _IOWR('u', 0x16, struct ublksrv_ctrl_cmd)
58
-
58
+ #define UBLK_U_CMD_TRY_STOP_DEV \
59
+ _IOWR('u', 0x17, struct ublksrv_ctrl_cmd)
59
60
  /*
60
61
  * 64bits are enough now, and it should be easy to extend in case of
61
62
  * running out of feature flags
@@ -103,6 +104,30 @@
103
104
  #define UBLK_U_IO_UNREGISTER_IO_BUF \
104
105
  _IOWR('u', 0x24, struct ublksrv_io_cmd)
105
106
 
107
+ /*
108
+ * return 0 if the command is run successfully, otherwise failure code
109
+ * is returned
110
+ */
111
+ #define UBLK_U_IO_PREP_IO_CMDS \
112
+ _IOWR('u', 0x25, struct ublk_batch_io)
113
+ /*
114
+ * If failure code is returned, nothing in the command buffer is handled.
115
+ * Otherwise, the returned value means how many bytes in command buffer
116
+ * are handled actually, then number of handled IOs can be calculated with
117
+ * `elem_bytes` for each IO. IOs in the remained bytes are not committed,
118
+ * userspace has to check return value for dealing with partial committing
119
+ * correctly.
120
+ */
121
+ #define UBLK_U_IO_COMMIT_IO_CMDS \
122
+ _IOWR('u', 0x26, struct ublk_batch_io)
123
+
124
+ /*
125
+ * Fetch io commands to provided buffer in multishot style,
126
+ * `IORING_URING_CMD_MULTISHOT` is required for this command.
127
+ */
128
+ #define UBLK_U_IO_FETCH_IO_CMDS \
129
+ _IOWR('u', 0x27, struct ublk_batch_io)
130
+
106
131
  /* only ABORT means that no re-fetch */
107
132
  #define UBLK_IO_RES_OK 0
108
133
  #define UBLK_IO_RES_NEED_GET_DATA 1
@@ -134,6 +159,10 @@
134
159
  #define UBLKSRV_IO_BUF_TOTAL_BITS (UBLK_QID_OFF + UBLK_QID_BITS)
135
160
  #define UBLKSRV_IO_BUF_TOTAL_SIZE (1ULL << UBLKSRV_IO_BUF_TOTAL_BITS)
136
161
 
162
+ /* Copy to/from request integrity buffer instead of data buffer */
163
+ #define UBLK_INTEGRITY_FLAG_OFF 62
164
+ #define UBLKSRV_IO_INTEGRITY_FLAG (1ULL << UBLK_INTEGRITY_FLAG_OFF)
165
+
137
166
  /*
138
167
  * ublk server can register data buffers for incoming I/O requests with a sparse
139
168
  * io_uring buffer table. The request buffer can then be used as the data buffer
@@ -311,6 +340,36 @@
311
340
  */
312
341
  #define UBLK_F_BUF_REG_OFF_DAEMON (1ULL << 14)
313
342
 
343
+ /*
344
+ * Support the following commands for delivering & committing io command
345
+ * in batch.
346
+ *
347
+ * - UBLK_U_IO_PREP_IO_CMDS
348
+ * - UBLK_U_IO_COMMIT_IO_CMDS
349
+ * - UBLK_U_IO_FETCH_IO_CMDS
350
+ * - UBLK_U_IO_REGISTER_IO_BUF
351
+ * - UBLK_U_IO_UNREGISTER_IO_BUF
352
+ *
353
+ * The existing UBLK_U_IO_FETCH_REQ, UBLK_U_IO_COMMIT_AND_FETCH_REQ and
354
+ * UBLK_U_IO_NEED_GET_DATA uring_cmd are not supported for this feature.
355
+ */
356
+ #define UBLK_F_BATCH_IO (1ULL << 15)
357
+
358
+ /*
359
+ * ublk device supports requests with integrity/metadata buffer.
360
+ * Requires UBLK_F_USER_COPY.
361
+ */
362
+ #define UBLK_F_INTEGRITY (1ULL << 16)
363
+
364
+ /*
365
+ * The device supports the UBLK_CMD_TRY_STOP_DEV command, which
366
+ * allows stopping the device only if there are no openers.
367
+ */
368
+ #define UBLK_F_SAFE_STOP_DEV (1ULL << 17)
369
+
370
+ /* Disable automatic partition scanning when device is started */
371
+ #define UBLK_F_NO_AUTO_PART_SCAN (1ULL << 18)
372
+
314
373
  /* device state */
315
374
  #define UBLK_S_DEV_DEAD 0
316
375
  #define UBLK_S_DEV_LIVE 1
@@ -408,6 +467,8 @@ struct ublksrv_ctrl_dev_info {
408
467
  * passed in.
409
468
  */
410
469
  #define UBLK_IO_F_NEED_REG_BUF (1U << 17)
470
+ /* Request has an integrity data buffer */
471
+ #define UBLK_IO_F_INTEGRITY (1UL << 18)
411
472
 
412
473
  /*
413
474
  * io cmd is described by this structure, and stored in share memory, indexed
@@ -525,6 +586,51 @@ struct ublksrv_io_cmd {
525
586
  };
526
587
  };
527
588
 
589
+ struct ublk_elem_header {
590
+ __u16 tag; /* IO tag */
591
+
592
+ /*
593
+ * Buffer index for incoming io command, only valid iff
594
+ * UBLK_F_AUTO_BUF_REG is set
595
+ */
596
+ __u16 buf_index;
597
+ __s32 result; /* I/O completion result (commit only) */
598
+ };
599
+
600
+ /*
601
+ * uring_cmd buffer structure for batch commands
602
+ *
603
+ * buffer includes multiple elements, which number is specified by
604
+ * `nr_elem`. Each element buffer is organized in the following order:
605
+ *
606
+ * struct ublk_elem_buffer {
607
+ * // Mandatory fields (8 bytes)
608
+ * struct ublk_elem_header header;
609
+ *
610
+ * // Optional fields (8 bytes each, included based on flags)
611
+ *
612
+ * // Buffer address (if UBLK_BATCH_F_HAS_BUF_ADDR) for copying data
613
+ * // between ublk request and ublk server buffer
614
+ * __u64 buf_addr;
615
+ *
616
+ * // returned Zone append LBA (if UBLK_BATCH_F_HAS_ZONE_LBA)
617
+ * __u64 zone_lba;
618
+ * }
619
+ *
620
+ * Used for `UBLK_U_IO_PREP_IO_CMDS` and `UBLK_U_IO_COMMIT_IO_CMDS`
621
+ */
622
+ struct ublk_batch_io {
623
+ __u16 q_id;
624
+ #define UBLK_BATCH_F_HAS_ZONE_LBA (1 << 0)
625
+ #define UBLK_BATCH_F_HAS_BUF_ADDR (1 << 1)
626
+ #define UBLK_BATCH_F_AUTO_BUF_REG_FALLBACK (1 << 2)
627
+ __u16 flags;
628
+ __u16 nr_elem;
629
+ __u8 elem_bytes;
630
+ __u8 reserved;
631
+ __u64 reserved2;
632
+ };
633
+
528
634
  struct ublk_param_basic {
529
635
  #define UBLK_ATTR_READ_ONLY (1 << 0)
530
636
  #define UBLK_ATTR_ROTATIONAL (1 << 1)
@@ -600,6 +706,17 @@ struct ublk_param_segment {
600
706
  __u8 pad[2];
601
707
  };
602
708
 
709
+ struct ublk_param_integrity {
710
+ __u32 flags; /* LBMD_PI_CAP_* from linux/fs.h */
711
+ __u16 max_integrity_segments; /* 0 means no limit */
712
+ __u8 interval_exp;
713
+ __u8 metadata_size; /* UBLK_PARAM_TYPE_INTEGRITY requires nonzero */
714
+ __u8 pi_offset;
715
+ __u8 csum_type; /* LBMD_PI_CSUM_* from linux/fs.h */
716
+ __u8 tag_size;
717
+ __u8 pad[5];
718
+ };
719
+
603
720
  struct ublk_params {
604
721
  /*
605
722
  * Total length of parameters, userspace has to set 'len' for both
@@ -614,6 +731,7 @@ struct ublk_params {
614
731
  #define UBLK_PARAM_TYPE_ZONED (1 << 3)
615
732
  #define UBLK_PARAM_TYPE_DMA_ALIGN (1 << 4)
616
733
  #define UBLK_PARAM_TYPE_SEGMENT (1 << 5)
734
+ #define UBLK_PARAM_TYPE_INTEGRITY (1 << 6) /* requires UBLK_F_INTEGRITY */
617
735
  __u32 types; /* types of parameter included */
618
736
 
619
737
  struct ublk_param_basic basic;
@@ -622,6 +740,7 @@ struct ublk_params {
622
740
  struct ublk_param_zoned zoned;
623
741
  struct ublk_param_dma_align dma;
624
742
  struct ublk_param_segment seg;
743
+ struct ublk_param_integrity integrity;
625
744
  };
626
745
 
627
746
  #endif
@@ -1188,6 +1188,8 @@ enum v4l2_flash_strobe_source {
1188
1188
 
1189
1189
  #define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11)
1190
1190
  #define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12)
1191
+ #define V4L2_CID_FLASH_DURATION (V4L2_CID_FLASH_CLASS_BASE + 13)
1192
+ #define V4L2_CID_FLASH_STROBE_OE (V4L2_CID_FLASH_CLASS_BASE + 14)
1191
1193
 
1192
1194
 
1193
1195
  /* JPEG-class control IDs */
@@ -2095,6 +2097,8 @@ struct v4l2_ctrl_mpeg2_quantisation {
2095
2097
  #define V4L2_CID_STATELESS_HEVC_DECODE_MODE (V4L2_CID_CODEC_STATELESS_BASE + 405)
2096
2098
  #define V4L2_CID_STATELESS_HEVC_START_CODE (V4L2_CID_CODEC_STATELESS_BASE + 406)
2097
2099
  #define V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS (V4L2_CID_CODEC_STATELESS_BASE + 407)
2100
+ #define V4L2_CID_STATELESS_HEVC_EXT_SPS_ST_RPS (V4L2_CID_CODEC_STATELESS_BASE + 408)
2101
+ #define V4L2_CID_STATELESS_HEVC_EXT_SPS_LT_RPS (V4L2_CID_CODEC_STATELESS_BASE + 409)
2098
2102
 
2099
2103
  enum v4l2_stateless_hevc_decode_mode {
2100
2104
  V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
@@ -2550,6 +2554,65 @@ struct v4l2_ctrl_hevc_scaling_matrix {
2550
2554
  __u8 scaling_list_dc_coef_32x32[2];
2551
2555
  };
2552
2556
 
2557
+ #define V4L2_HEVC_EXT_SPS_ST_RPS_FLAG_INTER_REF_PIC_SET_PRED 0x1
2558
+
2559
+ /*
2560
+ * struct v4l2_ctrl_hevc_ext_sps_st_rps - HEVC short term RPS parameters
2561
+ *
2562
+ * Dynamic size 1-dimension array for short term RPS. The number of elements
2563
+ * is v4l2_ctrl_hevc_sps::num_short_term_ref_pic_sets. It can contain up to 65 elements.
2564
+ *
2565
+ * @delta_idx_minus1: Specifies the delta compare to the index. See details in section 7.4.8
2566
+ * "Short-term reference picture set semantics" of the specification.
2567
+ * @delta_rps_sign: Sign of the delta as specified in section 7.4.8 "Short-term reference picture
2568
+ * set semantics" of the specification.
2569
+ * @abs_delta_rps_minus1: Absolute delta RPS as specified in section 7.4.8 "Short-term reference
2570
+ * picture set semantics" of the specification.
2571
+ * @num_negative_pics: Number of short-term RPS entries that have picture order count values less
2572
+ * than the picture order count value of the current picture.
2573
+ * @num_positive_pics: Number of short-term RPS entries that have picture order count values
2574
+ * greater than the picture order count value of the current picture.
2575
+ * @used_by_curr_pic: Bit j specifies if short-term RPS j is used by the current picture.
2576
+ * @use_delta_flag: Bit j equals to 1 specifies that the j-th entry in the source candidate
2577
+ * short-term RPS is included in this candidate short-term RPS.
2578
+ * @delta_poc_s0_minus1: Specifies the negative picture order count delta for the i-th entry in
2579
+ * the short-term RPS. See details in section 7.4.8 "Short-term reference
2580
+ * picture set semantics" of the specification.
2581
+ * @delta_poc_s1_minus1: Specifies the positive picture order count delta for the i-th entry in
2582
+ * the short-term RPS. See details in section 7.4.8 "Short-term reference
2583
+ * picture set semantics" of the specification.
2584
+ * @flags: See V4L2_HEVC_EXT_SPS_ST_RPS_FLAG_{}
2585
+ */
2586
+ struct v4l2_ctrl_hevc_ext_sps_st_rps {
2587
+ __u8 delta_idx_minus1;
2588
+ __u8 delta_rps_sign;
2589
+ __u8 num_negative_pics;
2590
+ __u8 num_positive_pics;
2591
+ __u32 used_by_curr_pic;
2592
+ __u32 use_delta_flag;
2593
+ __u16 abs_delta_rps_minus1;
2594
+ __u16 delta_poc_s0_minus1[16];
2595
+ __u16 delta_poc_s1_minus1[16];
2596
+ __u16 flags;
2597
+ };
2598
+
2599
+ #define V4L2_HEVC_EXT_SPS_LT_RPS_FLAG_USED_LT 0x1
2600
+
2601
+ /*
2602
+ * struct v4l2_ctrl_hevc_ext_sps_lt_rps - HEVC long term RPS parameters
2603
+ *
2604
+ * Dynamic size 1-dimension array for long term RPS. The number of elements
2605
+ * is v4l2_ctrl_hevc_sps::num_long_term_ref_pics_sps. It can contain up to 65 elements.
2606
+ *
2607
+ * @lt_ref_pic_poc_lsb_sps: picture order count modulo MaxPicOrderCntLsb of the i-th candidate
2608
+ * long-term reference picture.
2609
+ * @flags: See V4L2_HEVC_EXT_SPS_LT_RPS_FLAG_{}
2610
+ */
2611
+ struct v4l2_ctrl_hevc_ext_sps_lt_rps {
2612
+ __u16 lt_ref_pic_poc_lsb_sps;
2613
+ __u16 flags;
2614
+ };
2615
+
2553
2616
  /* Stateless VP9 controls */
2554
2617
 
2555
2618
  #define V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED 0x1
@@ -236,7 +236,7 @@ struct vmmdev_hgcm_function_parameter32 {
236
236
  /** Relative to the request header. */
237
237
  __u32 offset;
238
238
  } page_list;
239
- } u;
239
+ } __attribute__((packed)) u;
240
240
  } __attribute__((packed));
241
241
  VMMDEV_ASSERT_SIZE(vmmdev_hgcm_function_parameter32, 4 + 8);
242
242
 
@@ -251,7 +251,7 @@ struct vmmdev_hgcm_function_parameter64 {
251
251
  union {
252
252
  __u64 phys_addr;
253
253
  __u64 linear_addr;
254
- } u;
254
+ } __attribute__((packed)) u;
255
255
  } __attribute__((packed)) pointer;
256
256
  struct {
257
257
  /** Size of the buffer described by the page list. */