Andrew Kelley
4e32edbff5
fuzzing: comptime assertions to protect the ABI
...
compile errors are nice
2024-08-08 21:46:36 -07:00
sin-ack
2cfad20204
Compilation: Mark .c++ files as having C++ extension
...
Some projects, such as Cap'n Proto, use .c++ as their filenames. Without
this, compiling them fails because zig c++ will fall back to using the
linker.
2024-08-08 17:42:11 -07:00
YANG Xudong
a9b65b6fd4
std: add loongarch64 support ( #20915 )
...
Co-authored-by: Alex Rønne Petersen <alex@alexrp.com>
2024-08-09 00:30:57 +00:00
John Benediktsson
a854ce3021
std.hash_map: adding a rehash() method ( #19923 )
...
see #17851
2024-08-08 11:59:22 -07:00
Andrew Kelley
8031251c33
Merge pull request #20997 from xxxbxxx/debuglink
...
std.debug.Dwarf: improve loading debug symbol from separate files
2024-08-08 11:06:14 -07:00
Andrew Kelley
cf87a1a7cf
language: add module name field to @src
...
closes #20963
2024-08-08 07:47:14 -07:00
Jan Hendrik Farr
ca012e5b69
std.posix: read on timerfd can return error.Canceled
2024-08-08 01:12:26 -07:00
Alex Rønne Petersen
6976a5da19
generate_c_size_and_align_checks: Remove extraneous newline
...
Groups the assertions together properly.
2024-08-08 00:51:11 -07:00
Andrew Kelley
61fbdebd61
Merge pull request #20969 from alexrp/llvm-unsup-targets
...
`llvm`: Fix hasLlvmSupport() for dxil, spirv[32,64], and kalimba.
2024-08-07 22:50:08 -07:00
Andrew Kelley
468b976f63
Merge pull request #20975 from squeek502/cpu-features-update
...
update_cpu_features: Fixes and updates
2024-08-07 22:48:57 -07:00
Xavier Bouchoux
cbdf9bf5ee
std.debug.Dwarf: try to load the debuginfo from the debuginfod cache.
...
The previous mecanism for linux distributions to delivers debug info into `/usr/lib/debug` no longer seems in use.
the current mecanism often is using `debuginfod` (https://sourceware.org/elfutils/Debuginfod.html )
This commit only tries to load already available debuginfo but does not try to make any download requests.
the user can manually run `debuginfod-find debuginfo PATH` to populate the cache.
2024-08-08 07:28:59 +02:00
Xavier Bouchoux
7e966de45e
std.debug.Dwarf: fix loading external debuginfo in the ".debuglink" case.
...
- look up the debuglink file in the directory of the executable file (instead of the cwd)
- fix parsing of debuglink section (the 4-byte alignement is within the file, unrelated to the in-memory address)
2024-08-08 07:15:00 +02:00
Andrew Kelley
7a7421c749
Merge pull request #20973 from ziglang/fix-json-utf8
...
std.json: fix partial strings getting dropped when multi-byte codepoints span input buffers
2024-08-07 18:37:49 -07:00
Andrew Kelley
4381bac792
build runner: output hint when no --port provided
2024-08-07 16:55:46 -07:00
Jakub Konka
cfe6ff4301
Merge pull request #20971 from ziglang/elf-ownership-2
...
elf: move ownership of symbols into owning objects
2024-08-08 00:27:36 +02:00
YANG Xudong
b8705ed652
loongarch: various architecture specific fixes ( #20912 )
2024-08-07 13:06:29 -07:00
Pat Tullmann
4d6429fc4f
POSIX link() syscall only takes two arguments (no flags)
...
The signature is documented as:
int link(const char *, const char *);
(see https://man7.org/linux/man-pages/man2/link.2.html or https://man.netbsd.org/link.2 )
And its not some Linux extension, the [syscall
implementation](21b136cc63/fs/namei.c (L4794-L4797)
)
only expects two arguments too.
It probably *should* have a flags parameter, but its too late now.
I am a bit surprised that linking glibc or musl against code that invokes
a 'link' with three parameters doesn't fail (at least, I couldn't get any
local test cases to trigger a compile or link error).
The test case in std/posix/test.zig is currently disabled, but if I
manually enable it, it works with this change.
2024-08-07 13:05:42 -07:00
Jeffrey C. Ollie
979fd12be9
Add getppid to std.c and std.os.linux.
...
The std lib is missing getppid, this patch adds it.
2024-08-07 13:03:21 -07:00
Andrew Kelley
87e8fc1ade
Merge pull request #20512 from aikawayataro/add-v-linker-arg
...
zig ld: handle -v linker arg
2024-08-07 13:01:12 -07:00
Andrew Kelley
0e99f517f2
Merge pull request #20958 from ziglang/fuzz
...
introduce a fuzz testing web interface
2024-08-07 11:55:30 -07:00
Ryan Liptak
e912411fbe
Run update_cpu_features against LLVM 18.1.8
...
- RISCV unaligned-scalar-mem was added in LLVM 18.1.6
- Fixes arm v9_5a confusion
2024-08-07 09:03:05 -07:00
Ryan Liptak
cf2558e971
update_cpu_features: Add x86 alias and arm override
...
Before this commit, the name `v9.5a` was being used for two different features, and one was overwriting the other in the `all_features` array.
`arrowlake_s` is an alias for `arrowlake-s`
2024-08-07 08:56:50 -07:00
Josh Wolfe
a805454dea
fix partial strings getting dropped when multi-byte codepoints span input buffers
2024-08-07 06:29:34 -04:00
Josh Wolfe
8bec737ca2
fix tests actually checking string contents
2024-08-07 06:29:34 -04:00
Jakub Konka
b058545970
elf: remove stale code
2024-08-07 10:21:03 +02:00
Jakub Konka
90c4037819
elf: fix off-by-one direct access to symbol resolver in ZigObject
2024-08-07 10:21:03 +02:00
Jakub Konka
128289fda1
elf: actually init symbol resolvers array in ZigObject
2024-08-07 10:21:03 +02:00
Jakub Konka
668fd7aca6
elf: handle SHN_UNDEF explicitly in ZigObject.resolveSymbols
2024-08-07 10:21:03 +02:00
Jakub Konka
02f38d7749
codegen: fix Elf symbol refs
2024-08-07 10:21:03 +02:00
Jakub Konka
89db24ec6d
elf: fix .eh_frame calc in relocatable mode
2024-08-07 10:21:03 +02:00
Jakub Konka
e99818c602
elf: start-stop resolution has to come after init output sections
2024-08-07 10:21:03 +02:00
Jakub Konka
835f1fc03f
elf: fix off-by-one when referring to resolved table directly
2024-08-07 10:21:02 +02:00
Jakub Konka
0a198789f1
elf: scan LinkerDefined obj for symbol indirection too
2024-08-07 10:21:02 +02:00
Jakub Konka
137d43c0ea
elf: get hello-world glibc working again
2024-08-07 10:21:02 +02:00
Jakub Konka
26da7c8207
elf: fix symbol resolution for Objects
2024-08-07 10:21:02 +02:00
Jakub Konka
04f8f8ad3e
elf: do not re-init Symbol when initializing
2024-08-07 10:21:02 +02:00
Jakub Konka
8ca809d928
elf: move getStartStopBasename into Object
2024-08-07 10:21:02 +02:00
Jakub Konka
41e9b8b6c8
elf: fix compile errors
2024-08-07 10:21:02 +02:00
Jakub Konka
deeaa1bb0c
elf: redo symbol mgmt and ownership in ZigObject
2024-08-07 10:21:02 +02:00
Jakub Konka
de80e4fec2
elf: move symbol ownership to LinkerDefined
2024-08-07 10:21:02 +02:00
Jakub Konka
9fe69cc0b5
elf: move symbol ownership to SharedObject
2024-08-07 10:21:02 +02:00
Jakub Konka
d0367b0219
elf: move symbol ownership to Object
2024-08-07 10:21:02 +02:00
Jakub Konka
9ec415d4de
elf: null symbol is obsolete
2024-08-07 10:21:02 +02:00
Jakub Konka
518c7908f0
elf: always create symbol extra
2024-08-07 10:21:02 +02:00
Alex Rønne Petersen
f9f8942008
std.os.linux: Move clone() here and stop exporting it.
2024-08-07 01:19:51 -07:00
Andrew Kelley
75f78bfb77
Merge pull request #20922 from alexrp/vdso
...
`std.os.linux`: Fix VDSO for mips, add VDSO for riscv
2024-08-07 01:18:35 -07:00
Andrew Kelley
cd5f673cae
Merge pull request #20909 from alexrp/glibc-riscv
...
Support building glibc for riscv32/riscv64
2024-08-07 01:14:54 -07:00
Andrew Kelley
8184912a98
Merge pull request #20925 from alexrp/windows-tls
...
`std`: Some Windows TLS cleanup and fixes
2024-08-07 01:12:11 -07:00
Alex Rønne Petersen
c0681d6b6e
start: Add sparc32 support.
2024-08-07 01:09:18 -07:00
Alex Rønne Petersen
8cbf091a9a
std.os.linux.start_pie: Add sparc/sparc64 support.
2024-08-07 01:09:06 -07:00