Luuk de Gram
6a87ce0b62
Generate correct opcode for 'addGen' depending on type
2021-01-16 18:22:20 +01:00
Luuk de Gram
6c19aeddca
Add tests and move tests to wasm's own file
2021-01-16 14:58:04 +01:00
Zander Khan
a727a508cd
std: Add Priority Dequeue
2021-01-16 12:01:06 +00:00
Luuk de Gram
4b2538f72c
Cleanup and 'add' instruction for bigger test area
2021-01-15 23:27:38 +01:00
Luuk de Gram
bb74f72e97
stage2: refactor wasm backend - similar to the other backends
2021-01-15 23:27:38 +01:00
Jakub Konka
b204ea0349
macho: ensure that strtab always follows symtab
...
In rare occassions, it may happen that string table is allocated free
space preceeding symbol table. This is an error in the eyes of the `dyld`
dynamic loader and thus has to forbidden by the linker.
2021-01-15 23:22:28 +01:00
Guillaume Ballet
f7d7cb6268
crypto: add legacy keccak hash functions
2021-01-15 12:36:38 -08:00
Evan Haas
1702b413f7
translate-c: ensure bools are cast to int when necessary
...
Fixes two scenarios where @boolToInt() calls were missing:
1. Boolean expression cast to different-size int (char, long, etc)
2. Boolean expression used as parameter for function with int argument
2021-01-15 12:35:54 -08:00
Andrew Kelley
35686262f5
Merge pull request #7785 from ziglang/std-thread-primitives
...
organize std lib concurrency primitives and add RwLock
2021-01-15 12:31:17 -08:00
Koakuma
1d67ab8823
Fix _Qp_cmp definition
2021-01-15 19:07:39 +07:00
Koakuma
b531caac02
Fix f128 codegen on BE hosts
2021-01-15 19:07:38 +07:00
Koakuma
bbb58b10f6
Add compiler-rt stub for SPARC CPUs
2021-01-15 19:07:38 +07:00
Jakub Konka
2faf8c53d2
macho: use target arch page_size for codesig
...
It turns out I was wrong and we can set the page size to the actual
page size used by the target architecture when dividing the binary
into chunks and calculating a hash of each chunk for embedding within
the adhoc code signature. This shaves of a considerable amount of bytes
since we divide the code signature section by at least 2x.
I've also unified the `write` interface of `CodeSignature` struct to
follow that used in every other bit of `MachO`; namely, the functions
now accept a writer instead of a buffer, therefore, there is no need
to manually track where to write each struct field anymore.
2021-01-15 08:16:47 +01:00
Andrew Kelley
19f893c6bb
std.Thread: avoid compile errors for single-threaded OS's
2021-01-14 22:42:29 -07:00
Andrew Kelley
ad301d687a
fix namespace of kernel32 function calls
2021-01-14 21:42:49 -07:00
Andrew Kelley
9e1aeda3bf
std.Thread.StaticResetEvent: call spinLoopHint appropriately
2021-01-14 21:34:30 -07:00
Andrew Kelley
9698ea3173
std.Thread.Mutex: restore the "Held" API
...
so that std.Thread.Mutex.Dummy can be used as a drop in replacement.
2021-01-14 21:28:22 -07:00
Andrew Kelley
a9667b5a85
organize std lib concurrency primitives and add RwLock
...
* move concurrency primitives that always operate on kernel threads to
the std.Thread namespace
* remove std.SpinLock. Nobody should use this in a non-freestanding
environment; the other primitives are always preferable. In
freestanding, it will be necessary to put custom spin logic in there,
so there are no use cases for a std lib version.
* move some std lib files to the top level fields convention
* add std.Thread.spinLoopHint
* add std.Thread.Condition
* add std.Thread.Semaphore
* new implementation of std.Thread.Mutex for Windows and non-pthreads Linux
* add std.Thread.RwLock
Implementations provided by @kprotty
2021-01-14 20:41:37 -07:00
Asherah Connor
affb57aad9
use interfaces
2021-01-15 10:34:53 +11:00
Asherah Connor
9168b217b2
fix SectionHeaderIterator impl
2021-01-14 17:52:06 +11:00
Asherah Connor
32d69d70cf
expose phdr, shdr parsing
2021-01-14 15:30:28 +11:00
Asherah Connor
49ab6bb429
std.elf: actually pass the pointer
2021-01-14 14:38:52 +11:00
Asherah Connor
1cea88917c
std.elf: call it Header.parse
2021-01-14 14:38:52 +11:00
Asherah Connor
e6cdf9cebf
std.elf: make Header pub
2021-01-14 14:38:52 +11:00
Asherah Connor
23fb19fe41
std.elf: expose parsing decoupled from std.fs.File
2021-01-14 14:38:52 +11:00
Asherah Connor
2b0e3ee228
std.os.uefi.protocols.FileProtocol: fix and expose get_position, set_position ( #7762 )
2021-01-13 21:46:22 -05:00
Andrew Kelley
ec1541de26
Merge pull request #7746 from kubkon/macho-extern-fn
...
macho: extern functions come to MachO!
2021-01-13 15:11:35 -08:00
Jakub Konka
2128149325
macho: update DebugSymbols to include DATA_CONST seg
2021-01-13 23:56:05 +01:00
Jakub Konka
4ffa8952cc
macho: add x86_64 tests
2021-01-13 23:55:56 +01:00
Jakub Konka
2ea0901dd6
macho: properly populate offset into lazy bind info
2021-01-13 23:55:48 +01:00
Jakub Konka
f0d7ec6f33
macho: add x86_64 support
2021-01-13 23:55:37 +01:00
Jakub Konka
1b91a9f4c8
macho: bring back lld cc hot-fix
2021-01-13 23:55:28 +01:00
Jakub Konka
7d40aaad2b
macho: document more code + add test case
2021-01-13 23:55:18 +01:00
Jakub Konka
b86d0e488b
macho: refactor writing and managing externs
2021-01-13 23:55:06 +01:00
Jakub Konka
21c7217e09
macho: memorize start of stubs in helper
2021-01-13 23:54:56 +01:00
Jakub Konka
44a052a65f
macho: write out stubs for new externs only
2021-01-13 23:54:46 +01:00
Jakub Konka
2f7cd71193
macho: fully working PoC with main and exit
2021-01-13 23:54:31 +01:00
Jakub Konka
bb691ea16b
macho: first working draft of externs on macOS
2021-01-13 23:54:22 +01:00
Jakub Konka
6d2a6513f9
macho: write out binding info
2021-01-13 23:54:11 +01:00
Jakub Konka
5ae82956aa
macho: write out rebase info
2021-01-13 23:54:01 +01:00
Jakub Konka
f44732c1b0
macho: populate stubs and stub_helper
2021-01-13 23:53:46 +01:00
Jakub Konka
51a13f8ea6
macho: add missing data sections
2021-01-13 23:53:36 +01:00
Jakub Konka
3d07f057b1
macho: prealloc DATA_CONST and DATA segments
2021-01-13 23:53:25 +01:00
Jakub Konka
5487dd13ea
stage2: lay the groundwork in prep for extern fn
...
This commit lays the groundwork in preparation for implementing
handling of extern functions in various backends.
2021-01-13 14:51:23 -08:00
Jay Petacat
a021c7b1b2
Move fmt.testFmt to testing.expectFmt
2021-01-12 18:13:29 -08:00
Bill Nagel
2c79d669a7
add missing ECONNRESET from getsockoptError
2021-01-12 18:11:58 -08:00
Andrew Kelley
70c608add8
Merge pull request #7577 from semarie/emutls
...
implement emutls inside compiler_rt.zig
2021-01-12 17:54:02 -08:00
Andrew Kelley
e564d2ca3c
Merge pull request #7714 from mikdusan/target-macos
...
macos: reimplement OS version detection
2021-01-12 16:45:50 -08:00
Bill Nagel
1e2be14b6b
define nfds_t for windows
2021-01-12 16:37:58 -08:00
LemonBoy
65b7d2b4e1
stage1: Resolve alignment earlier in @alignCast
...
Fixes #7744
2021-01-12 16:36:51 -08:00