aboutsummaryrefslogtreecommitdiff
path: root/lib/std/debug.zig
AgeCommit message (Collapse)Author
2020-04-02new ArrayList API: fix everything elsexackus
2020-04-01std: Fix more NetBSD bitsLemonBoy
Fix some more libc definitions.
2020-04-01Tidy up some mem.spanZ use-sites now that null is accepteddaurnimator
2020-03-30std lib API deprecations for the upcoming 0.6.0 releaseAndrew Kelley
See #3811
2020-03-23std: Fix undefined field errorLemonBoy
2020-03-23debug: Accept relative paths in mapWholeFileLemonBoy
2020-03-23std: Add missing C defines for NetBSDLemonBoy
2020-03-13Even better idle waiting methodLemonBoy
2020-03-13Nicer idle wait loopLemonBoy
Trying to acquire twice the same mutex generates an idle loop.
2020-03-13std: Multithreaded-aware panic handlerLemonBoy
Gracefully handle the case of several threads panicking at the same time.
2020-03-10fix regressions found by test suiteAndrew Kelley
2020-03-10fix stack trace code not opening files in forced blocking modeAndrew Kelley
2020-03-10fix regressions caused earlier in this branchAndrew Kelley
2020-03-10(breaking) rework stream abstractionsAndrew Kelley
The main goal here is to make the function pointers comptime, so that we don't have to do the crazy stuff with async function frames. Since InStream, OutStream, and SeekableStream are already generic across error sets, it's not really worse to make them generic across the vtable as well. See #764 for the open issue acknowledging that using generics for these abstractions is a design flaw. See #130 for the efforts to make these abstractions non-generic. This commit also changes the OutStream API so that `write` returns number of bytes written, and `writeAll` is the one that loops until the whole buffer is written.
2020-02-28introduce operating system version ranges as part of the targetAndrew Kelley
* re-introduce `std.build.Target` which is distinct from `std.Target`. `std.build.Target` wraps `std.Target` so that it can be annotated as "the native target" or an explicitly specified target. * `std.Target.Os` is moved to `std.Target.Os.Tag`. The former is now a struct which has the tag as well as version range information. * `std.elf` gains some more ELF header constants. * `std.Target.parse` gains the ability to parse operating system version ranges as well as glibc version. * Added `std.Target.isGnuLibC()`. * self-hosted dynamic linker detection and glibc version detection. This also adds the improved logic using `/usr/bin/env` rather than invoking the system C compiler to find the dynamic linker when zig is statically linked. Related: #2084 Note: this `/usr/bin/env` code is work-in-progress. * `-target-glibc` CLI option is removed in favor of the new `-target` syntax. Example: `-target x86_64-linux-gnu.2.27` closes #1907
2020-02-26fix behavior tests with --test-evented-ioAndrew Kelley
2020-02-23correct test expectationsLemonBoy
2020-02-22delete extra code, more forgivenessLemonBoy
2020-02-22unification: windows debug infoLemonBoy
2020-02-22unification: osx debug infoLemonBoy
2020-02-21unsureLemonBoy
2020-02-20soldier onLemonBoy
2020-02-20tidy interface, const correctnessLemonBoy
2020-02-20Correctly count all the loaded modules on WindowsLemonBoy
2020-02-20sudokuLemonBoy
2020-02-20less hideousLemonBoy
2020-02-20elvis entered the buildingLemonBoy
2020-02-20osxLemonBoy
2020-02-20windows widestringLemonBoy
2020-02-20wideLemonBoy
2020-02-20winLemonBoy
2020-02-20tmpLemonBoy
2020-02-20debug: Split the DWARF stuff in its own fileLemonBoy
2020-02-10Merge pull request #4404 from ziglang/async-stdAndrew Kelley
a big step towards std lib integration with async I/O
2020-02-07debug: Show a nice error message on SIGBUSLemonBoy
2020-02-06more std lib async I/O integrationAndrew Kelley
* `zig test` gainst `--test-evented-io` parameter and gains the ability to seamlessly run async tests. * `std.ChildProcess` opens its child process pipe with O_NONBLOCK when using evented I/O * `std.io.getStdErr()` gives a File that is blocking even in evented I/O mode. * Delete `std.event.fs`. The functionality is now merged into `std.fs` and async file system access (using a dedicated thread) is automatically handled. * `std.fs.File` can be configured to specify whether its handle is expected to block, and whether that is OK to block even when in async I/O mode. This makes async I/O work correctly for e.g. the file system as well as network. * `std.fs.File` has some deprecated functions removed. * Missing readv,writev,pread,pwrite,preadv,pwritev functions are added to `std.os` and `std.fs.File`. They are all integrated with async I/O. * `std.fs.Watch` is still bit rotted and needs to be audited in light of the new async/await syntax. * `std.io.OutStream` integrates with async I/O * linked list nodes in the std lib have default `null` values for `prev` and `next`. * Windows async I/O integration is enabled for reading/writing file handles. * Added `std.os.mode_t`. Integer sizes need to be audited. * Fixed #4403 which was causing compiler to crash. This is working towards: ./zig test ../test/stage1/behavior.zig --test-evented-io Which does not successfully build yet. I'd like to enable behavioral tests and std lib tests with --test-evented-io in the test matrix in the future, to prevent regressions.
2020-02-06debug: Improve the frame-walking strategyLemonBoy
Clean up the code a bit and introduce a few checks meant to avoid overshooting the end of the frame chain. The code is now stable enough not to cause panics during the call frame walking.
2020-02-05Merge pull request #4345 from Rocknest/open-diAndrew Kelley
Fix double close in openElfDebugInfo
2020-02-05Link the issue in doc commentRocknest
2020-02-05Fix double close in openElfDebugInfoRocknest
2020-02-03Add InstallRawStep to Zig build system that does a similar job to ↵Michaël Larouche
llvm-objcopy. To use it, do 'exe.installRaw("kernel.bin");' where exe is a LibExeObjStep Part of #2826
2020-01-30Merge pull request #4324 from fengb/testing-allocatorAndrew Kelley
Remove debug.global_allocator in favor of testing.allocator
2020-01-30Merge pull request #4319 from Rocknest/windows-tracesAndrew Kelley
Bring windows segfault handler on par with linux
2020-01-30Small DWARF fixupsLemonBoy
* Clang doesn't seem to emit a DW_AT_low_pc together with DW_AT_ranges for asm files. * Keep reading the other CUs if the lookup fails.
2020-01-30Fix one more edge caseRocknest
2020-01-29Promoted "leak_count_allocator" to the main testing.allocatorBenjamin Feng
2020-01-29Move FailingAllocator to testingBenjamin Feng
2020-01-29Fix off-by-one errorRocknest
2020-01-29Reorganize definitionsRocknest
2020-01-29Create leak_count_allocatorBenjamin Feng