Commit Graph

13865 Commits

Author SHA1 Message Date
gingerBill
46c0910a77 Fix lb_add_global_generated_with_name 2025-02-25 14:59:59 +00:00
gingerBill
fd6d7d412d Use more predictable object name 2025-02-25 14:55:33 +00:00
gingerBill
5aafbc7f30 Use more deterministic module names 2025-02-25 14:35:54 +00:00
gingerBill
f9d85a7311 Try to make globally generated variables deterministic in name 2025-02-25 14:29:14 +00:00
Laytan Laats
22ab8935c4 slice: use card in bitset_to_enum_slice_with_make
Fixes #4870
2025-02-24 21:10:12 +01:00
gingerBill
faaa05536f Support -show-timings for odin doc 2025-02-24 17:42:21 +00:00
gingerBill
d0d5cf800e Fix nullptr check 2025-02-24 15:49:49 +00:00
gingerBill
344eb6cb42 Fix name canonicalization for doc writer 2025-02-24 15:44:38 +00:00
gingerBill
f56a0a80d3 Use type hash for doc writer 2025-02-24 15:37:54 +00:00
gingerBill
de70e6faa0 Use more type hashes where possible 2025-02-24 15:33:35 +00:00
gingerBill
83f1c879ec Canonicalize generated procedures (hasher/equal/map) 2025-02-24 15:18:27 +00:00
gingerBill
68731b2b50 Canonicalize global source code locations 2025-02-24 14:36:19 +00:00
gingerBill
2c86fadee1 More name canonicalization for globals 2025-02-24 14:28:24 +00:00
gingerBill
f0f395c510 Fix canonicalization 2025-02-24 14:24:06 +00:00
gingerBill
46a8991d0f Canonicalize generated procedures 2025-02-24 14:19:02 +00:00
gingerBill
533f82da24 Fix #4822 2025-02-24 14:11:47 +00:00
gingerBill
c2cafcbe14 Fix #4819 2025-02-24 14:07:39 +00:00
gingerBill
0781526b35 Merge pull request #4466 from Barinzaya/simd_extract_msbs
SIMD Extract MSbs/LSbs Intrinsics
2025-02-24 14:04:07 +00:00
Barinzaya
4afedbc051 Added simd_extract_lsbs intrinsic as well.
Equivalent to the simd_extract_msbs intrinsic, except it extracts the
least significant bit of each element instead.
2025-02-24 08:49:57 -05:00
gingerBill
ef016d957b Add @(require_results) to random generator 2025-02-24 13:48:07 +00:00
gingerBill
c45f39702a stdcall to system 2025-02-24 13:45:50 +00:00
gingerBill
e25507ca3b Merge pull request #2938 from moritzfalk/d3d11-annotations
Adding IUserDefinedAnnotation to D3D11 for better debugging.
2025-02-24 13:39:58 +00:00
Barinzaya
33a3aab791 Added simd_extract_msbs intrinsic. 2025-02-24 08:39:32 -05:00
gingerBill
d23453811d Improve semicolon checking rules when parsing 2025-02-24 13:13:36 +00:00
gingerBill
c0b923c1c6 Merge pull request #4874 from keenanwoodall/ns-save-panel-url-not-array
Darwin/Foundation `SavePanel_URL` returns ^URL instead of ^Array
2025-02-24 08:23:41 +00:00
Keenan Woodall
a709876788 SavePanel_URL returns ^URL instead of ^Array 2025-02-23 19:00:27 -06:00
Jeroen van Rijn
b6e4765e63 Merge pull request #4872 from haesbaert/dns-spoof
Fix multiple vulnerabilities in the resolver
2025-02-23 19:13:21 +01:00
Christiano Haesbaert
42d7e7a402 Fix multiple vulnerabilities in the resolver
This fixes some vulnerabilities in the resolver that make spoofing DNS
queries somewhat trivial due to the code failing to randomize xid, as
well as match the reply xid with the query, and the origin of the packet:

 - xid of the query was fixed at zero
 - xid from the reply was never checked
 - source address of the reply was never checked

This means anyone can flood the host with a fake reply with xid 0,
guessing the source port is trivial as it's less than 16bits (2^16 -
1024), which would cause odin to resolve a hostname to whatever an
attacker wanted.

While here also plug in two memory leaks.

Since this is CVE material, I've contacted @kelimion before hand which
instructed to put it in a PR.

There are also more bugs as the code conflates answer section,
authority section and aditional section into one, while in reality
only the anwer section should be taken into consideration.
2025-02-23 17:28:32 +01:00
Jeroen van Rijn
940da61869 Fix missing error when TCP connection refused.
Fixes #4867
2025-02-23 12:47:22 +01:00
gingerBill
ebda946d61 Move temporary array out of CheckerInfo 2025-02-22 18:12:43 +00:00
gingerBill
de755f95ec Minor rearrange for parsing field lists 2025-02-22 17:58:14 +00:00
gingerBill
875dbf3140 Disallow syntax: proc(x,:T) 2025-02-22 17:56:42 +00:00
gingerBill
5bd43b94ec Improve error message for matrices with no rows or columns 2025-02-22 17:50:37 +00:00
gingerBill
748a771dad Allow indirection for swizzling on procedure parameters 2025-02-21 12:38:40 +00:00
gingerBill
55e0f945a1 Merge pull request #4860 from odin-lang/bill/typeid_hash_table
Change `typeid` definition to be based around the canonical type hash
2025-02-21 10:21:28 +00:00
gingerBill
7e58f0a279 Merge pull request #4861 from Barinzaya/simdvec_equality_fix
SIMD Vector Equality Fix
2025-02-21 09:33:00 +00:00
Barinzaya
266e84103e Fixed an issue with SIMD vector equality.
Comparing SIMD vectors with `==` was checking that the mask of elements
that matched was not 0, meaning it succeeded if *any* element was equal,
rather than if *all* elements were equal.
2025-02-20 17:05:07 -05:00
gingerBill
bf9f2e43bf Fix typeid size in LLVM 2025-02-20 18:47:41 +00:00
gingerBill
e8c38e7427 Handle any correctly for 32-bit systems 2025-02-20 17:50:56 +00:00
gingerBill
614c0dd740 Fix typeid size for 32-bit platforms 2025-02-20 17:10:04 +00:00
gingerBill
4ece0617bc Keep -vet happy 2025-02-20 14:18:19 +00:00
gingerBill
5489a88983 Change typeid definition to be based around the canonical type hash
`typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type.

This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox).

Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
2025-02-20 14:10:45 +00:00
gingerBill
c25ac939d4 Add cast back 2025-02-20 13:27:18 +00:00
gingerBill
1d348318f2 Use PtrMap temporarily 2025-02-20 13:23:23 +00:00
gingerBill
0ab323012e Use TypeSet instead of PtrSet<Type *> 2025-02-20 11:12:59 +00:00
gingerBill
0946f6b48b Improve name canonicalization for some debuggers 2025-02-20 11:11:22 +00:00
gingerBill
90a973ccf6 Make debug symbols use the new name canonicalization rules 2025-02-20 10:27:59 +00:00
gingerBill
9dc4d5a4e6 Merge pull request #4845 from Barinzaya/fmt_variable_wp_without_index
Variable Width/Precision Without Index in `fmt`
2025-02-20 08:49:48 +00:00
gingerBill
82ddf358d0 Merge pull request #4855 from odin-lang/bill/canonical-type-hashing
Deterministic Canonical Naming for Link Names and Types
2025-02-20 08:47:48 +00:00
gingerBill
29456bcdea Move docs to the header 2025-02-19 11:12:32 +00:00