Jonathan Marler
0a8fe34b11
add test to ignore sigpipe
2023-02-17 15:25:36 -07:00
Jakub Konka
2d017f379f
link-tests: do not hardcode UUID when testing the build with/out DI
2023-02-08 17:26:25 +01:00
Jakub Konka
304420b99c
Merge pull request #14502 from ziglang/link-owned-atoms
...
link: move ownership of linker atom from frontend to the linkers
2023-02-02 01:39:01 +01:00
Luuk de Gram
46f54b23ae
link: make Wasm atoms fully owned by the linker
2023-02-01 19:10:56 +01:00
Andrew Kelley
16cdd1297e
rename std.Build.LibExeObjStep to std.Build.CompileStep
...
This matches the nomenclature internally: a Compilation is the main type
that represents a single invokation of the compiler.
2023-01-31 15:09:35 -07:00
Andrew Kelley
36e2d992dd
combine std.build and std.build.Builder into std.Build
...
I've been wanting to do this for along time.
2023-01-31 15:09:35 -07:00
Andrew Kelley
73cf7b6429
update build.zig API usage
2023-01-31 15:09:35 -07:00
Jakub Konka
241cabdf3d
link-tests: do not expect __eh_frame section on x86_64-macos
2023-01-21 19:14:44 +01:00
Jakub Konka
983e373409
macho: fix sorting symbols by seniority
2023-01-21 16:53:46 +01:00
Jakub Konka
02db9933a4
macho: properly relocate target symbol address in __eh_frame
2023-01-21 14:11:56 +01:00
Jakub Konka
eb0c959b43
link-tests: update uuid test with new uuid values
...
Changes only pertain arm64 as for x86_64 turns out we are
missing one additional feature which is synthesising unwind info
from only eh frame records, or at least this is what it looks like
when I analysed the output of Apple's ld.
2023-01-20 21:27:57 +01:00
Jakub Konka
e0ccbff87d
link-tests: test unwind info emitter via c++ exceptions
2023-01-20 20:57:40 +01:00
Jakub Konka
9d4a4e9ed1
link-tests: update uuid test with new uuid given dyld ops changes
2023-01-19 00:05:54 +01:00
Luuk de Gram
b9224c172f
wasm-linker: Fix & mangle symbol name of imports
...
When outputting the names section, we should output the actual symbol
name rather than the import name. This makes sure that symbols with
an explicit name set have the correct name but retain the import name
too.
We also now correctly mangle the name of an extern function with an
explicit library name. This ensures that functions that have a
different library name, but the same import/function name, can be
resolved correctly with other modules and don't resolve to the
same symbol.
2023-01-03 10:02:54 +01:00
Luuk de Gram
f9b3e8c762
test/link: add test case for exporting data syms
2023-01-02 18:36:18 +01:00
Luuk de Gram
3e32a18956
test/link: add test case for function table
...
Adds 3 linker tests to verify the indirect function table
functionality for importing, exporting and its regular definitions.
2023-01-02 18:36:18 +01:00
Luuk de Gram
e4869eeac1
test/link: linker tests for all export cases
...
Adds a linker test case for each possible export case. This means
one where no exports are done (i.e. no flags set), when the -dynamic
flag is set, and finally when --export=<value> flag(s) are set.
2023-01-02 18:36:17 +01:00
Andrew Kelley
40ba4d4a89
Merge pull request #14102 from Luukdegram/wasm-undefined-symbols
...
WebAssembly: remove unconditional --allow-undefined flag
2022-12-29 17:59:44 -05:00
Luuk de Gram
8403612adc
test/link: update linker tests
...
Force importing symbols to show the correct functions are being
imported from the host environment.
2022-12-28 16:49:36 +01:00
Jakub Konka
8d29c84d00
link-tests: test uuid on x86_64-macos too
2022-12-27 16:43:35 +01:00
Jakub Konka
6925ef0f1a
zld: exclude strtab padding from uuid calculation
2022-12-27 16:43:35 +01:00
Jakub Konka
8adcc2258f
link-tests: redo macho strict validation test to match libstuff
2022-12-27 16:43:35 +01:00
Jakub Konka
2cb6db2219
link-tests: add macho strict validation test
...
Support more operators when running simple arithmetic tests, and
allow for int literals in the program spec.
2022-12-23 14:02:52 +01:00
Jakub Konka
b20a610f03
link-tests: force cross-comp to exclude host differences
2022-12-17 00:53:47 +01:00
Jakub Konka
9ad24a4aee
macho: add uuid link test
2022-12-16 18:31:48 +01:00
Andrew Kelley
28514476ef
remove -fstage1 option
...
After this commit, the self-hosted compiler does not offer the option to
use stage1 as a backend anymore.
2022-12-06 12:15:04 -07:00
Jakub Konka
72769f6cec
link-tests: add test case for parsing weak imports
2022-11-06 15:21:28 +01:00
Jakub Konka
5ef33e7c7e
Merge pull request #13459 from ziglang/issue-13457
...
macho: do not zero-out file if there are no nonzerofill sects
2022-11-06 08:39:13 +01:00
Jakub Konka
aaaa7df152
macho: add linker test case for issue 13457
2022-11-06 00:10:12 +01:00
Luuk de Gram
ef0df24626
test/link: add linker test to verify mangling
...
This adds a simple linker test to ensure the built library contains
an import entry for each extern function call that was mangled.
2022-11-01 15:43:34 +01:00
Luuk de Gram
2f41109cc4
test/link: add Wasm linker tests for features
...
Adds a test for inferring features based on a different object file.
Also provides a test case where cpu features are explicitly set on
a library where the end result will output said target features.
2022-10-25 20:48:08 +02:00
Luuk de Gram
c0fe135ff3
test/link: remove redundant dependOn statements
...
`runAndCompare` will already depend on the `CheckObject` step itself
so it's not needed to also have the test step depend on the
check object step.
2022-10-18 17:20:08 +02:00
jacobly0
bd0dd225e8
Sema: implement linksection on functions
...
* Sema: implement linksection on functions
* Implement function linksection in Sema.
* Don't clobber function linksection/align/addrspace in Sema.
* Fix copy-paste typo in tests.
* Add a bunch of missing test_step.dependOn.
* Fix checkInSymtab match.
Closes #12546
2022-10-18 14:02:10 +03:00
Luuk de Gram
74108bb9c0
test/link: fix Wasm archive test
...
As memcpy is now part of compiler-rt, we no longer expect
any imports in the binary.
2022-10-15 07:02:38 -07:00
Luuk de Gram
8635c18e40
test/link: don't strip producers section for wasm
...
When testing the Wasm linker for the producers section
we do not ever want to strip the binary as this will remove
the producers section in release-small.
This fixes the CI errors by d086b371f0e21e5029e1b0d05838b87502eb63e6
2022-10-11 21:27:09 +02:00
Ali Chraghi
d086b371f0
Compilation: strip debug info from ReleaseSmall by default
2022-10-11 17:51:25 +02:00
Luuk de Gram
fda75f53fa
test/link: Add linker test for producers section
...
This also turns off non-debug modes for the bss linker tests for
Wasm. This is done as it's not required to guarantee to zero out
the bss section for non-debug modes.
2022-10-08 09:43:40 +02:00
Jakub Konka
54854e2ab8
add removed expected stdout comparison in link test
2022-09-18 09:28:46 +02:00
Jakub Konka
0030e72d53
use EmulatableRunStep for newly added macho link test
...
Reverts 75e9a8c7fabb1f32753960b9114dcee875256351
2022-09-18 09:22:49 +02:00
Andrew Kelley
75e9a8c7fa
skip macho link test execution on non-macOS
...
2c3d87b168bf522f538e78325fdae71c320e6e20 introduced a new test that
passes on macOS but fails on other operating systems. This commit makes
it only run on macOS.
2022-09-17 21:33:19 -07:00
Jakub Konka
2c3d87b168
macho: test empty translation units
2022-09-17 18:43:24 +02:00
Luuk de Gram
8627858bbc
test/link: add test for extern resolution
...
Adds a linker tests to verify extern/undefined symbols
representing non-functions are being resolved correctly.
2022-08-30 18:32:08 +02:00
Luuk de Gram
7fe2a3d104
test/link: add wasm linker-test for archives
...
Adds a test case that will pull-in compiler-rt symbols,
and therefore link with the compiler-rt archive file.
2022-08-20 15:46:39 +02:00
Jakub Konka
9b595dd55f
link-test: refactor and reorg
...
Move common tests by target file format (Wasm, MachO) into helper
functions in `link.zig`, and sort alphabetically within for easier
tracking versus file organization on disk.
2022-08-17 23:13:49 +02:00
Jakub Konka
d84282174c
link-test: move tls test to macho/tls
...
This test was always really testing correct behavior of our in-house
MachO linker to begin with.
2022-08-17 09:00:26 +02:00
Luuk de Gram
72c0cebe5c
test/link/macho: use EmulationStep for dead_strip
2022-07-23 17:27:47 +02:00
Luuk de Gram
4776065036
Use EmulatableRunStep for MachO linker tests
2022-07-23 10:03:51 +02:00
Jakub Konka
2c184f9a5f
link-tests: add checkNotPresent and add -dead_strip smoke test
...
`checkNotPresent` is the inverse of `checkNext` - if the phrase is
found in the output, then it fails the test.
2022-07-22 16:58:21 +02:00
Jakub Konka
d80fcc8a0b
macho: rework symbol handling for incremental stage2 builds
2022-07-22 16:58:20 +02:00
Jakub Konka
03feea0fb2
macho: split section into subsections if requested and/or possible
2022-07-22 16:58:20 +02:00