Commit Graph

1493 Commits

Author SHA1 Message Date
Ralf Jung 81307d7299 fix "unaligned" transmute 2017-07-12 23:50:57 -07:00
Ralf Jung 287b6be5ca track alignment also for ByRef values 2017-07-12 21:06:57 -07:00
Ralf Jung 1fe310c8ba Memory::read_ptr has to check for relocations on the edges 2017-07-12 19:30:37 -07:00
Ralf Jung 454fc854ab Rename value accessors to "into_*" so the three of them are better aligned 2017-07-12 17:52:57 -07:00
Ralf Jung c149c3fc6a Re-do packed memory accesses
We now track in the lvalue whether what we computed is expected to be aligend or not, and then set some state in the memory system accordingly to make it (not) do alignment checks
2017-07-12 17:46:56 -07:00
Oliver Schneider fda18f64cd Merge pull request #241 from solson/rustc_integration
Produce `ConstInt` from a `def_id` for rustc
2017-07-12 11:02:03 +02:00
Oliver Schneider e362c30ef8 Merge pull request #242 from solson/various
Add tests for #113
2017-07-12 10:40:02 +02:00
Oliver Schneider 4ce8be9538 Produce ConstInt from a def_id for rustc 2017-07-12 10:38:54 +02:00
Oliver Schneider 4a03e45169 Add tests for #113
resolves #113
2017-07-12 09:29:18 +02:00
Oliver Schneider 28969f47aa Merge pull request #238 from RalfJung/tests
Add little script to build libstd
2017-07-12 09:08:07 +02:00
Eduard-Mihai Burtescu ea2b192e15 Merge pull request #239 from RalfJung/mmap
hooking mmap is no longer needed
2017-07-12 09:03:22 +03:00
Ralf Jung eafe659ee0 hooking mmap is no longer needed 2017-07-11 17:24:15 -07:00
Ralf Jung 3e7f69aae2 add little script to build libstd
That's easier to use than having to `cd xargo`
2017-07-11 10:28:32 -07:00
Ralf Jung 9a9666e2a6 Add a test for using a too big alignment on reallocate 2017-07-11 10:28:32 -07:00
Oliver Schneider 40755ecfb7 Merge pull request #236 from oli-obk/pointers
Use a wrapper type to differentiate between `PrimVal` and pointers
2017-07-11 15:03:14 +02:00
Oliver Schneider eba199a437 Document the reason for Pointer's existence 2017-07-11 12:50:03 +02:00
Oliver Schneider 0dd6ef8301 Simplify with_extra 2017-07-11 12:39:12 +02:00
Oliver Schneider d0d1d2d5e8 Remove *offset* methods from PrimVal onto Pointer 2017-07-11 12:28:11 +02:00
Oliver Schneider 03f0a88002 Use a wrapper type to differentiate between PrimVal and pointers 2017-07-11 12:28:11 +02:00
Oliver Schneider a8b957a0f8 Add a dedicated write_null method 2017-07-11 10:32:01 +02:00
Oliver Schneider 2d52054fb2 Rename Pointer to MemoryPointer 2017-07-11 10:32:01 +02:00
Oliver Schneider 1511023456 Merge pull request #237 from RalfJung/reallocate
Update for allcator API, simplify reallocate
2017-07-11 09:39:52 +02:00
Ralf Jung 1cbf5e8962 leave notes regarding possible alignment checks 2017-07-10 18:09:46 -07:00
Ralf Jung ea730ab20f update tests for new allocator API 2017-07-10 16:15:58 -07:00
Ralf Jung d2cf3d76b9 update for allocator API 2017-07-10 16:15:58 -07:00
Ralf Jung e60f11f52c update for latest nightly 2017-07-10 13:57:18 -07:00
Ralf Jung 3c0a6d6922 simplify reallocate 2017-07-10 13:34:54 -07:00
Oliver Schneider b8bd42e8d4 Merge pull request #234 from RalfJung/reallocate
Make Reallocate & Deallocate less permissive
2017-07-05 19:54:54 +02:00
Ralf Jung 4165051073 refine comment explaining the order of checks on deallocate 2017-07-05 10:26:15 -07:00
Oliver Schneider 9a04be974c Merge pull request #232 from oli-obk/master
Only check pointers when dereferencing
2017-07-04 09:50:54 +02:00
Oliver Schneider 10ec543b9e Merge pull request #235 from RalfJung/intrinsics
Implement some missing intrinsics
2017-07-04 08:38:22 +02:00
Oliver Schneider fa05ca9f4a Merge pull request #233 from RalfJung/transmute
Fix transmute on ByValPair
2017-07-04 08:32:46 +02:00
Ralf Jung 19d6ad74e5 add test for div-by-zero with the operator (rather than the intrinsic) 2017-07-03 20:59:47 -07:00
Ralf Jung 30f92f8a27 catch overflows that are hidden by first casting the RHS to u32 2017-07-03 20:50:19 -07:00
Ralf Jung ffd482e2f5 check the assumptions made by the unchecked_ and copy_nonoverlapping intrinsics 2017-07-03 20:37:38 -07:00
Ralf Jung f118ff43e7 implement the unchecked_ intrinsics; add all the doctests from one of the integer modules 2017-07-03 20:37:33 -07:00
Ralf Jung 79ab4f0e8c make u128 test work (commenting out the use of checked_shl) 2017-07-03 20:36:04 -07:00
Ralf Jung 440c4778fa validate size and alignment on reallocate and deallocate 2017-07-03 16:47:58 -07:00
Ralf Jung bdcdb605a4 fix test on i686 2017-07-03 16:16:05 -07:00
Ralf Jung dc9f5a205f properly check for: double-free, use-after-reallocate 2017-07-03 16:12:11 -07:00
Ralf Jung 030166757c Fix transmute on ByValPair
Fixes #227
2017-07-03 13:58:50 -07:00
Oliver Schneider 823b952ef2 Only check pointers when dereferencing
Before we also checked whether pointers had alloc_ids when we created rvalue references
2017-07-03 14:16:11 +02:00
Oliver Schneider 8ff5d59efe Merge pull request #231 from dwrensha/update-compiletest
update compiletest dependency
2017-07-01 12:44:39 +02:00
David Renshaw 7008646bfe update compiletest dependency 2017-06-30 12:06:49 -04:00
Oliver Schneider 4fa71ad3eb Merge pull request #230 from dwrensha/cargo-miri
get cargo-miri to work
2017-06-29 20:44:48 +02:00
David Renshaw 7a755ce8f9 add a dependency to cargo-miri-test 2017-06-29 14:00:24 -04:00
David Renshaw e3fa4fb849 get cargo-miri to work 2017-06-29 13:06:36 -04:00
Oliver Schneider 8722ce8d4b Merge pull request #223 from oli-obk/lvalue_read
Reinstate `eval_and_read_lvalue` optimizations
2017-06-29 15:40:06 +02:00
Oliver Schneider 4a560834b9 Merge pull request #226 from dwrensha/rustup
update for upstream changes to TyFnDef
2017-06-29 15:03:12 +02:00
David Renshaw 73ab5c77c2 normalize signature before passing to check_sig_compat 2017-06-29 07:58:22 -04:00