aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build/Step/CheckObject.zig
AgeCommit message (Collapse)Author
2024-07-14make zig compiler processes live across rebuildsAndrew Kelley
Changes the `make` function signature to take an options struct, which additionally includes `watch: bool`. I intentionally am not exposing this information to configure phase logic. Also adds global zig cache to the compiler cache prefixes. Closes #20600
2024-07-12make more build steps integrate with the watch systemAndrew Kelley
2024-06-23Rename *[UI]LEB128 functions to *[UI]leb128Michael Bradshaw
2024-05-27update the codebase for the new std.Progress APIAndrew Kelley
2024-05-24Step/CheckObject: handle stab entries when dumping MachO symtabJakub Konka
2024-05-13Step.CheckObject: support dumping raw section contents for MachOJakub Konka
2024-05-13Step.CheckObject: put MachO object parsing logic in ObjectContext wrapperJakub Konka
2024-05-05Build: cleanupJacob Young
* `doc/langref` formatting * upgrade `.{ .path = "..." }` to `b.path("...")` * avoid using arguments named `self` * make `Build.Step.Id` usage more consistent * add `Build.pathResolve` * use `pathJoin` and `pathResolve` everywhere * make sure `Build.LazyPath.getPath2` returns an absolute path
2024-04-30std.Build.Step.CheckObject: fix parseDumpNamesAndrew Kelley
This function incorrectly assumed that module name subsections, function name subsections, and local name subsections are encoded the same, however according to [the specification](https://webassembly.github.io/spec/core/appendix/custom.html) they are encoded differently. This commit adds support for parsing module name subsections correctly, which started appearing after upgrading to LLVM 18.
2024-04-15lib/std/Build/Step/CheckObject: dump section as stringJakub Konka
2024-03-30Update uses of `@fieldParentPtr` to use RLSJacob Young
2024-03-30Update uses of `@fieldParentPtr` to pass a pointer typeJacob Young
2024-01-01zig build system: change target, compilation, and module APIsAndrew Kelley
Introduce the concept of "target query" and "resolved target". A target query is what the user specifies, with some things left to default. A resolved target has the default things discovered and populated. In the future, std.zig.CrossTarget will be rename to std.Target.Query. Introduces `std.Build.resolveTargetQuery` to get from one to the other. The concept of `main_mod_path` is gone, no longer supported. You have to put the root source file at the module root now. * remove deprecated API * update build.zig for the breaking API changes in this branch * move std.Build.Step.Compile.BuildId to std.zig.BuildId * add more options to std.Build.ExecutableOptions, std.Build.ObjectOptions, std.Build.SharedLibraryOptions, std.Build.StaticLibraryOptions, and std.Build.TestOptions. * remove `std.Build.constructCMacro`. There is no use for this API. * deprecate `std.Build.Step.Compile.defineCMacro`. Instead, `std.Build.Module.addCMacro` is provided. - remove `std.Build.Step.Compile.defineCMacroRaw`. * deprecate `std.Build.Step.Compile.linkFrameworkNeeded` - use `std.Build.Module.linkFramework` * deprecate `std.Build.Step.Compile.linkFrameworkWeak` - use `std.Build.Module.linkFramework` * move more logic into `std.Build.Module` * allow `target` and `optimize` to be `null` when creating a Module. Along with other fields, those unspecified options will be inherited from parent `Module` when inserted into an import table. * the `target` field of `addExecutable` is now required. pass `b.host` to get the host target.
2023-12-13lib/std/Build/CheckObject: split dyld info into subsections for easier ↵Jakub Konka
scoped testing
2023-12-13lib/std/Build/CheckObject: update all tests to new APIJakub Konka
2023-12-13lib/std/Build/CheckObject: implement for WasmJakub Konka
2023-12-13lib/std/Build/CheckObject: implement for ELFJakub Konka
2023-12-13lib/std/Build/CheckObject: introduce scoped checks; implement for MachOJakub Konka
2023-12-13lib/std/Build/CheckObject: fix parsing and dumping special dylib lookup valuesJakub Konka
2023-12-10lib/std/Build/CheckObject: dump Mach-O dyld_info_only bind, weak-bind and ↵Jakub Konka
lazy-bind data
2023-12-10lib/std/Build/CheckObject: dump Mach-O dyld_info_only rebase dataJakub Konka
2023-12-09lib/std/Build/CheckObject: dump Mach-O dyld_info_only exports dataJakub Konka
2023-12-09lib/std/Build/CheckObject: dump Mach-O symbol attributesJakub Konka
2023-12-08lib/std/Build/CheckObject: dump Mach-O headerJakub Konka
2023-11-19lib: correct unnecessary uses of 'var'mlugg
2023-11-06CheckObject: support parsing and dumping archive symtab for ELFJakub Konka
2023-10-31std.builtin.Endian: make the tags lower caseAndrew Kelley
Let's take this breaking change opportunity to fix the style of this enum.
2023-10-31mem: fix ub in writeIntJacob Young
Use inline to vastly simplify the exposed API. This allows a comptime-known endian parameter to be propogated, making extra functions for a specific endianness completely unnecessary.
2023-10-03std.macho: remove alignment from LoadCommandIteratorAndrew Kelley
2023-08-18check-object: dump contents of LC_BUILD_VERSION and LC_VERSION_MIN_* cmdsJakub Konka
2023-07-30Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and ↵Felix (xq) Queißner
removes functions that take literal paths instead of LazyPath.
2023-07-27test: add a test that verifies no debug handlers get pulled into compiler_rtkcbanner
build: fix CheckObject checkNotPresent only checking a single line of the haystack
2023-07-20check-object: allow for multiple extractions within one checkJakub Konka
2023-07-20check-object: format known OS-specific types before doing generic formatJakub Konka
2023-07-20check-object: dump PT flags when dumping program headersJakub Konka
2023-07-20check-object: remove wildcard matchers as they are too clunkyJakub Konka
Instead, we now have a looser helper called `checkContains(...)` that will match on any occurrence similarly to `std.mem.indexOf()`. While at it, I have cleaned up other combinators to make the entire API more consistent, and so: * `checkStart(phrase)` is now `checkStart()` followed by `checkExact(phrase)` * `checkNext(phrase)` if matching exactly is now `checkExact(phrase)` * `checkNext(phrase)` if matching loosely is now `checkContains(phrase)` * `checkNext(phrase)` if matching exactly with var extractors is now `checkExtract(phrase)` Finally, `ElfDumper` is now dumping contents of `.symtab` and `.dynsym` symbol tables. I have also removed dumping of symtabs as optional - they are now always dumped which cleaned up the implementation even more.
2023-07-20check-object: dump contents of .dynamic sectionJakub Konka
2023-07-19test/link: add shared-memory test for WebAssemblyLuuk de Gram
2023-07-13check-object: dump info on PHDRsJakub Konka
2023-07-13check-object: dump more info on SHDRsJakub Konka
2023-07-13check-object: dump some info on SHDRsJakub Konka
2023-07-13check-object: dump ELF headerJakub Konka
2023-06-24all: migrate code to new cast builtin syntaxmlugg
Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change
2023-06-13Remove CheckObjectStep.runAndCompare (#15973)Zapolsky Anton
Closes #14969
2023-05-13Update all std.mem.tokenize calls to their appropriate functionRyan Liptak
Everywhere that can now use `tokenizeScalar` should get a nice little performance boost.
2023-05-03std.Build: use Step.* instead of *StepVeikka Tuominen
Follow up to 13eb7251d37759bd47403db304c6120c706fe353
2023-05-03build: rename std.Build.*Step to std.Build.Step.*Nicolas Sterchele
Follow-up actions from #14647 Fixes #14947