26514 Commits

Author SHA1 Message Date
Michael Dusan
aa76ca2931 llvm: set PIE only for executables
closes #17575
2023-10-20 01:59:55 -04:00
Andrew Kelley
5d8bc56ab6
Merge pull request #15268 from DraagrenKirneh/feature/14475-minimum-zig-version
#14475 minimal_zig_version in build.zig.zon
2023-10-20 00:51:44 -04:00
Prokop Randacek
fee09009a8 gettimeofday takes nullable pointers 2023-10-20 00:15:34 -04:00
Jacob Young
4d106076c3 link: initialize llvm before calling the llvm API 2023-10-19 16:51:11 -04:00
Krzysztof Wolicki
530dc0405c
std.os: unlinkW shouldn't return error.DirNotEmpty 2023-10-19 12:59:52 +00:00
Jacob Young
fbbccc9d5f Builder: fix incorrect type for 32-bit systems 2023-10-19 08:06:44 -04:00
Jakub Konka
f3d23d9232
Merge pull request #17594 from ziglang/elf-atom-limit
elf: increase permissible Atom <-> input section resolution to u32 for Zig's module
2023-10-19 12:30:56 +02:00
Andrew Kelley
ae2cd5fe26 Revert "Never implicitly add rpaths for each lib dir, add NixOS libdir to rpath"
This reverts commit d7b73af8f65bb891c8700ed47777144bb6f35fe1.

I did not look at this closely enough. This is incorrect; it should not
implicitly add rpaths for every library, and it should not disable the
nice default of each_lib_path when compiling for the native OS.

See #16062 where we are working on a follow-up improvement to this.
2023-10-18 23:37:47 -07:00
Jakub Konka
470d887d80
Merge pull request #17593 from ziglang/elf-native-libc
elf: link against libc installation
2023-10-19 07:39:03 +02:00
Andrew Kelley
b795925ee4 doc: add minimum_zig_version field reference 2023-10-18 18:59:13 -07:00
Andrew Kelley
777af14b57 Package.Manifest: fix bitrotted unit tests 2023-10-18 18:59:13 -07:00
DraagrenKirneh
1882ff95e7 Package.Manifest: add minimum_zig_version field 2023-10-18 18:58:58 -07:00
Jakub Konka
1bbe521074 elf: fix flaky link tests 2023-10-19 03:34:47 +02:00
Andrew Kelley
32bc077672 std.Build: make dependencies inherit --search-prefix 2023-10-18 20:01:25 -04:00
Krzysztof Wolicki
bffe65c18f std.ChildProcess: fix error in killWindows 2023-10-18 19:11:28 -04:00
Andrew Kelley
63f9af87d3 zig env: back to json output
changed my mind I liked it better before. this reverts
053119083c2c93cb1fc4129bc647c03301f4010d.
2023-10-18 15:50:00 -07:00
Andrew Kelley
ec21da0d51 compiler: fix LTO availability logic
Before this commit, the logic would fail with a "LTO not available"
error if the user set `-fno-lto` which doesn't make sense. This commit
corrects the logic to understand when the user is explicitly requesting
to turn LTO off.
2023-10-18 17:47:57 -04:00
Andrew Kelley
f9a3413112 compiler: better default for valgrind
* Default to off when strip=true
* Report an error when explicitly enabled but not supported for the
  target
2023-10-18 17:46:29 -04:00
Andrew Kelley
edcb17daf8 CI: -Dskip-release on x86_64-windows-debug
This script is sometimes timing out, so let's test fewer things to save
time. The x86_64-windows-release script does include test coverage for
release builds of the standard library, behavior tests, etc.
2023-10-18 14:45:13 -07:00
Andrew Kelley
39652331c9
Merge pull request #14428 from perillo/improve-zig-env
zig env: add support for line based output
2023-10-18 17:32:59 -04:00
Jacob Young
d8f7c79298 x86_64: improve inline assembly support
* C++-style comments
 * indirect call operands
 * fix misleading immediate debug formatting
2023-10-18 13:57:28 -04:00
Andrew Kelley
8804d72684 std certs: solaris can use the BSD path 2023-10-18 12:51:45 -04:00
Jakub Konka
1448d6b77c elf: store shndx to Zig module atoms out-of-band
This allows us to increase the effective resolution of `st_shndx`
from `u8` to `u32`.
2023-10-18 18:33:35 +02:00
Jakub Konka
9ced0ecbbd elf: increase resolution of Atom.input_section_index to u32 2023-10-18 17:29:19 +02:00
Jakub Konka
27d7ac88a3 elf: increase resolution of Atom.relocs_section_index to u32 2023-10-18 17:25:28 +02:00
Robin Voetter
c3120d5089
Merge pull request #17577 from alichraghi/spirv-1
spirv: switch on bool
2023-10-18 16:28:13 +02:00
Andrew Kelley
e8f3c4c4b1
Merge pull request #13610 from bcrist/child_process_already_terminated
return error.AlreadyTerminated from std.ChildProcess.kill when necessary
2023-10-18 10:23:23 -04:00
Robin Voetter
24b065a6a8
Merge pull request #17561 from alichraghi/spirv-0
spirv: memcpy
2023-10-18 15:38:30 +02:00
Jakub Konka
52e0ca1312 elf: parse GNU ld script as system lib indirection 2023-10-18 13:54:43 +02:00
Andrew Kelley
aeadcb3918 disable flaky linker test
tracked by #17576
2023-10-17 21:46:13 -07:00
Andrew Kelley
149f2f8adb
Merge pull request #17524 from Vexu/aro-translate-c
Add ability to test Aro based `translate-c`
2023-10-18 00:32:59 -04:00
Andrew Kelley
09dea957ed rework zig env
Introduce introspect.EnvVar which tracks all the environment variables
that are observed by the compiler, so that we can print them with `zig
env`.

The `zig env` command now prints both the resolved values as well as all
the possibly observed environment variables.
2023-10-17 21:27:09 -07:00
Manlio Perillo
053119083c zig env: remove the json output
The current json output is not very convenient to use from the shell or
a Zig program.
An example using the shell: `zig env | jq -r .lib_dir`.

Remove the json output, and instead use the POSIX shell syntax:
  name="value"

Additionally, when args is not empty, assume each argument is the
environment variable name and print the associated value.
Unrecognized environment variables are ignored.

The new output format has been copied from `go env`, with the difference
that `go env` uses OS specific syntax for windows and plan9.

Define the environment variables in a single place, in order to avoid
possible bugs.
2023-10-17 20:10:23 -07:00
Ben Crist
fb9376bd04 Double check that child processes have really exited when
TerminateProcess reports ACCESS_DENIED
2023-10-17 16:56:39 -07:00
Ben Crist
6d47198303 return error.AlreadyTerminated from std.ChildProcess.kill when necessary 2023-10-17 16:56:15 -07:00
Tobias Simetsreiter
7a9500fd80
Fix rendering ast in zon mode (#17547)
Co-authored-by: Tobias Simetsreiter <tobias.simetsreiter@wabtec.com>
2023-10-17 19:04:01 -04:00
dweiller
f58811a58a package fetching: support .tar.zst archives 2023-10-17 19:02:00 -04:00
Ali Chraghi
e5d5c1d423 spirv: switch on bool 2023-10-18 02:31:16 +03:30
Andrew Kelley
25400fadf8 disable two flaky link tests
Tracking issue #17576
2023-10-17 16:00:14 -07:00
David
364c54460f
Deflate: fix missing value in reset 2023-10-17 21:46:47 +00:00
Jakub Konka
533e2671c9 elf: add native libc* system libraries to the invocation 2023-10-17 23:23:33 +02:00
Bogdan Romanyuk
ad168db727
Sema: disallow @intFromPtr for comptime-only types 2023-10-17 20:05:55 +00:00
David
5c8912d7a4
XXH3 Implementation for Zig STD (#17530)
XXH3 is the faster alternative to XXH64 which utilizes SIMD
when hashing large chunks of memory and similar mixing to
WyHash (64x64 -> 128 mul) for smaller inputs.

Co-authored-by: Reixcon226 <87927264+Rexicon226@users.noreply.github.com>

---------

Co-authored-by: kprotty <kbutcher6200@gmail.com>
2023-10-17 13:55:01 -05:00
Andrew Kelley
3b21c15782
Merge pull request #17562 from ziglang/fetch-symlink-normalize-sep
Package.Fetch: normalize path separators in symlinks
2023-10-17 14:35:39 -04:00
Andrew Kelley
5234b8be9c CI: bump aarch64-linux-release timeout to 8 hours
Same as 0b8fca5a195278bb5d5fb1ea09a504c30f751415. Whne the system gets
busy, the runs take drastically longer.
2023-10-17 11:35:03 -07:00
kcbanner
68ed787751 windows: fix ReadLink not using a synchronous file handle 2023-10-17 14:33:55 -04:00
Jakub Konka
eb5276c94e
Merge pull request #17556 from ziglang/elf-link-zig-proper
elf: port 99% of zld ELF linker to Zig proper
2023-10-17 17:36:40 +02:00
Jakub Konka
742a130ce5 elf: fix use-after-move 2023-10-17 17:35:16 +02:00
Andrew Kelley
5039a5db83
Merge pull request #17558 from xxxbxxx/glibc-strtoul
build compatibility for c++ & linux
2023-10-17 11:09:53 -04:00
Jacob Young
cfa247e53b x86_64: fix C abi argument passing in memory 2023-10-17 10:41:48 -04:00