summaryrefslogtreecommitdiff
path: root/mk
AgeCommit message (Collapse)Author
2019-09-09Split out intfmt to a separate file.S. Gilles
This prepares for intfmt being used within fltfmt for the exponent in scientific notation.
2019-07-23Add OpenBSD 6.4 syscallsCarlin Bingham
Only relevant change between 6.3 and 6.4 is adding unveil: https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/kern/syscalls.master.diff?r1=1.188&r2=1.180&f=h
2019-01-01Regenerate most bootstrap scripts.Ori Bernstein
2018-12-16Fix Darwin bootstrap (thanks pd)Ori Bernstein
2018-12-11Update FreeBSD bootstrap.Ori Bernstein
2018-12-01Regenerate OpenBSD bootstrap.Ori Bernstein
2018-11-30Regenerate bootstrap for Linux.Ori Bernstein
2018-11-26Create our required directories.Ori Bernstein
Fixes some bootstraps.
2018-11-12Regenerate Linux bootstrap, improve bootstrap scripts.Ori Bernstein
2018-11-06Regenerate 9front, freebsd, and openbsd bootstrap.Ori Bernstein
2018-10-18Add thread-local storage for POSIX-y platforms.iriri
This patch implements thread-local storage by using a segment register to store pointers to regions of memory unique to each thread. In spawned threads, this region starts above the top of the stack, while in the main thread, this region is initially statically allocated so it can be used in `__init__` functions and dynamically reallocated if it needs to grow beyond 8 slots. The api consists of 3 functions: `tlsalloc()`, which must be called from the main thread, allocates a slot and returns a key to be used with `settls(k, v)` and `gettls(k)`. Each thread inherits its tls slots from the thread that spawned it and any slot added after a given thread is spawned is not available in that thread. Adding tls regions gives threads an easy way to get their own tids, allowing us to add some basic correctness checks to the mutex code. A pointer to the base of the stack and the size of the mapping are also stored in the tls region, making it easy to support user-specified stack sizes in the future. Changes from previous version: - Fixed size of main tls static allocation. - More comments, less magic. - Fixed typo in start+osx-x64.s exit+{freebsd,linux,openbsd}-x64.s - `gettlskey` renamed to `tlsalloc`. - `key` is now `tlskey(@a#)`, improving safety. - Test is slightly less bad.
2018-07-03Move stuff to examples.Ori Bernstein
2018-06-22Regen bootstrap for all platforms.Ori Bernstein
2018-06-15Use chartype functions to determine character type, regenerate bootstrapOri Bernstein
2018-06-14Update bootstrap for OSXOri Bernstein
2018-05-11The deps aren't phony.Ori Bernstein
They're real files on disk.
2018-05-10Turn off fancy stuff when we have an old assembler.Ori Bernstein
2018-03-24Fix the cpufeatures... er... features on plan 9.Ori Bernstein
2018-03-23Fix the cpufeatures... er... features on plan 9.Ori Bernstein
2018-03-20Allow CPU feature detection by mbld, and add "sse4" tagS. Gilles
This allows writing graceful degradation of optimizations. In practice, it justifies less-than-optimal floating point implementations by allowing a portable upgrade path through AVX, SIMD, &c. Bootstrap scripts are updated by genboostrap.sh on Linux+amd64, and by hand on all others.
2018-02-23Update 9front bootstrap.Ori Bernstein
2018-02-23Regenerate FreeBSD bootstrap.Ori Bernstein
2018-02-23Regenerate OpenBSD bootstrap.Ori Bernstein
2018-02-23Fix Linux bootstrap.Ori Bernstein
2018-01-22Remove spare -Is on FreeBSDOri Bernstein
2018-01-19Clean up OpenBSD bootstrap.Ori Bernstein
2018-01-18We removed some -I. spew from libstd, let's get rid of it in bootstrap.Ori Bernstein
2018-01-03Update bootstrap.Ori Bernstein
2018-01-02Update bootstrap code.Ori Bernstein
2018-01-02Regenerate FreeBSD bootstrapOri Bernstein
2017-11-18Update bootstrap scripts.Ori Bernstein
2017-10-05make the bootstrapping step explicit.Ori Bernstein
2017-09-23Implement OpenBSD 6.2 futex mutexes.Ori Bernstein
2017-09-20Add listen to 9front bootstrap.Ori Bernstein
Not used, but completeness demands it.
2017-09-09Fix bootstrap script on OSXOri Bernstein
It was misgenerated.
2017-09-09Regenerate bootstrap files.Ori Bernstein
2017-08-25Regenerate bootstrap for linux, simpler.Ori Bernstein
2017-08-23Simplfiy genbootstrap.shOri Bernstein
We don't need that mess any more.
2017-08-13Update bootstrap.update-bootstrapOri Bernstein
2017-08-13Add full Linux support, generated from Linux syscall tables.Ori Bernstein
2017-08-13If a trait is specialized over a generic, it's generic too.Ori Bernstein
2017-08-08Bring back enforced namespaces.Ori Bernstein
It turns out that people actually like being forced to type the full names. Go figure. It does have the benefit of adding pressure to keep package names short. Eventually, we'll probably grow the ability to alias a package at import. We'll see how that goes. This reverts commit c5245eaa80064b77186fa286f8e5e8bca73309ab.
2017-08-01Update bootstrap scripts.Ori Bernstein
2017-08-01Regenerate Linux + OpenBSD bootstrap.Ori Bernstein
2017-07-27std.change std.name std.lookup std.rules.Ori Bernstein
std.no std.on std.every std.name std.you std.use. The rules for an un-namespaced name now are as follows: 1) Attempt to look up a name in the current file. 2) Check all namespaces for a unique name. If the name is not globally unique, give an error.
2017-07-25Update all bootstrapsmbld-rebaseOri Bernstein
- FreeBSD - Linux - Plan 9 - OSX - OpenBSD - NetBSD
2017-07-22Using implicit util files in tests is a bad idea.Ori Bernstein
Also, it's going to go away in the new mbld.
2017-06-25Remove -WextraOri Bernstein
2017-06-23Update more bootstrap files.Ori Bernstein
2017-06-22Regenerate bootstrap programs.Ori Bernstein