Jakub Konka
55dadc3d85
test/link/elf: test static linking C aarch64-musl
2024-02-21 22:40:03 +01:00
Jakub Konka
7fd4576596
elf+aarch64: resolve .eh_frame relocs
2024-02-21 22:28:02 +01:00
Jakub Konka
7aeba3a3d1
elf+aarch64: implement some resolveRelocNonAlloc logic
2024-02-21 22:25:25 +01:00
Jakub Konka
887709ed5c
elf+aarch64: implement some resolveRelocAlloc logic
2024-02-21 22:22:40 +01:00
Jakub Konka
d7d47a2c0c
elf+aarch64: implement some scanReloc logic
2024-02-21 22:07:51 +01:00
Jakub Konka
ee364d542a
link: introduce common set of aarch64 abstractions
2024-02-21 22:00:28 +01:00
antlilja
e57f553c07
LLVM Builder: Rework MetadataString to not rely on String
...
This fixes a problem where empty strings where not emitted as null.
This should also emit a smaller stringtab as all metadata strings were
emitted in both the strtab and in the strings block inside the metadata
block.
2024-02-21 21:46:04 +01:00
Jakub Konka
60a8f9b989
elf: make GOT arch aware when resolving relocs
2024-02-21 20:58:43 +01:00
Jakub Konka
775a161794
elf: simplify logic for resolving .eh_frame relocs on different arches
2024-02-21 20:50:29 +01:00
Jakub Konka
06c191a4ff
elf: simplify logic for resolving nonalloc relocs on different arches
2024-02-21 20:29:56 +01:00
Igor Anić
ce1a590fc9
cleanup tests
2024-02-21 20:26:29 +01:00
Jakub Konka
4cde47a169
elf: simplify logic for resolving alloc relocs on different arches
2024-02-21 20:11:32 +01:00
Igor Anić
d995029844
add BufferedTee
...
BufferedTee provides reader interface to the consumer. Data read by consumer
is also written to the output. Output is hold lookahead_size bytes behind
consumer. Allowing consumer to put back some bytes to be read again. On flush
all consumed bytes are flushed to the output.
input -> tee -> consumer
|
output
input - underlying unbuffered reader
output - writer, receives data read by consumer
consumer - uses provided reader interface
If lookahead_size is zero output always has same bytes as consumer.
2024-02-21 20:01:45 +01:00
Jacob Young
0b7af25637
MachO: fix calcLoadCommandsSize computation
...
Closes #19026
2024-02-21 19:56:55 +01:00
Jacob Young
48bd0ed7f3
llvm: fix builds that don't link with libllvm
2024-02-21 19:18:34 +01:00
Jakub Konka
60bc2e7616
elf: simplify logic for handling scanning relocs on different arches
2024-02-21 19:06:10 +01:00
Jakub Konka
1ca004176f
elf+riscv: resolve synthetic __global_pointer$ symbol
2024-02-21 18:09:23 +01:00
antlilja
713a555aa1
LLVM: Remove unused from llvm/bindings.zig and zig_llvm.h/.cpp
2024-02-21 17:54:00 +01:00
antlilja
f6d275b14e
LLVM: Remove use of LLVM in Builder
2024-02-21 17:53:15 +01:00
antlilja
626c3f7959
LLVM Builder: Emit debug info and metadata
2024-02-21 16:24:59 +01:00
antlilja
d35080b792
LLVM: Add Metadata/Debug bitcode IR
2024-02-21 16:24:59 +01:00
antlilja
c11c7a28a3
codegen/llvm: Remove use of DIBuilder and output bin by parsing bitcode
2024-02-21 16:24:59 +01:00
antlilja
c16818d623
Add LLVM bindings for parsing LLVM bitcode
2024-02-21 16:24:59 +01:00
antlilja
d3055480ec
LLVM: Emit bitcode even if libllvm is not present
2024-02-21 16:24:59 +01:00
antlilja
049cad4411
LLVM Builder: Add debug locations to instructions
2024-02-21 16:24:59 +01:00
antlilja
a456631e29
LLVM Builder: Add debug/metadata system
2024-02-21 16:24:59 +01:00
antlilja
b4369dfbda
LLVM: Add toBitcode to Builder
2024-02-21 16:24:59 +01:00
antlilja
5bd2a7c4d6
LLVM IR specific bitcode
2024-02-21 16:24:59 +01:00
antlilja
2396806165
Add LLVM bitcode writer
2024-02-21 16:24:59 +01:00
antlilja
4653fc4bb4
LLVM Builder: Add dbg.declare and dbg.value intrinsics
2024-02-21 16:24:59 +01:00
antlilja
15029590ee
LLVM Builder: Add integer values to more enums fields
2024-02-21 16:24:59 +01:00
antlilja
ec5a433fdf
Fix FastMath packed struct
...
* Added missing legacy field (unused_algebra)
* Made struct correct size (u32 -> u8)
2024-02-21 16:24:59 +01:00
antlilja
7cb8813743
Added value_indices and valueIndex to Function
...
value_indices keeps track of the value index of
each instruction in the function (i.e skips
instruction which do not have a result)
2024-02-21 16:24:59 +01:00
antlilja
423c2c3a27
Made .block = false in WipFunction.hasResultWip
2024-02-21 16:24:59 +01:00
antlilja
c57b4e70b0
Builder: Add function_attributes_set
2024-02-21 16:24:59 +01:00
antlilja
52e8434022
Added opcode functions to Instruction/Constant.Tag
2024-02-21 16:24:59 +01:00
antlilja
ff76ba64d6
Added values to AtomicRmw.Operation enum fields
2024-02-21 16:24:59 +01:00
antlilja
6df8302be6
Fixed values in AtomicOrdering enum
2024-02-21 16:24:59 +01:00
antlilja
fd3b81f93b
LLVM Builder: Add toLlvm helper to Alignment
2024-02-21 16:24:59 +01:00
antlilja
2801bf6400
LLVM Builder: Add strtab helper to String
2024-02-21 16:24:59 +01:00
antlilja
9ccd7158b9
LLVM Builder: Make Type.Simple reflect LLVM codes
2024-02-21 16:24:59 +01:00
antlilja
1d94e9ef83
LLVM: Make sure child types get added first
...
The LLVM bitcode requires all type references in
structs to be to earlier defined types.
We make sure types are ordered in the builder
itself in order to avoid having to iterate the
types multiple times and changing the values
of type indicies.
2024-02-21 16:24:59 +01:00
antlilja
8feae5d2d5
LLVM: Assign correct values to enum/union tags
2024-02-21 16:24:59 +01:00
garrison hinson-hasty
955fd65cb1
Sema: fix peer type resolution for arrays of coercible elements
2024-02-21 00:55:29 +00:00
Jacob Young
ec7293422d
llvm: fix c abi for structs not passed in registers
...
Closes #18916
2024-02-20 23:36:47 +01:00
Jacob Young
2291560424
c_import: extract behavior tests that use @cImport
...
This introduces the new test step `test-c-import`, and removes the
ability of the behavior tests to `@cImport` paths relative to `test`.
This allows the behavior tests to be run without translate c.
2024-02-20 18:44:43 +01:00
Techatrix
556db2ca36
json: make std.json.stringifyAlloc return a mutable slice ( #19013 )
2024-02-20 09:03:00 -05:00
mlugg
65a87ff299
Liveness: do not elide safety-checked instructions
...
Resolves : #19012
2024-02-20 12:10:29 +00:00
Jacob Young
97290e0bfc
cbe: make more use of InternPool.Index.Slice
...
Attempts to fix the current CI failures introduced by #18983 .
2024-02-19 19:32:06 -08:00
mlugg
7461309b73
Sema: validate that runtime-known inferred alloc does not have comptime-only type
...
Resolves : #18997
2024-02-19 21:48:50 +00:00