Get Cosmopolitan into releasable state

A new rollup tool now exists for flattening out the headers in a way
that works better for our purposes than cpp. A lot of the API clutter
has been removed. APIs that aren't a sure thing in terms of general
recommendation are now marked internal.

There's now a smoke test for the amalgamation archive and gigantic
header file. So we can now guarantee you can use this project on the
easiest difficulty setting without the gigantic repository.

A website is being created, which is currently a work in progress:
https://justine.storage.googleapis.com/cosmopolitan/index.html
This commit is contained in:
Justine Tunney 2020-11-25 08:19:00 -08:00
parent dba7552c1e
commit ea0b5d9d1c
775 changed files with 6864 additions and 3963 deletions

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Frees and clears (sets to NULL) each non-null pointer in the given

View file

@ -1,5 +1,5 @@
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlcalloc(size_t n_elements, size_t elem_size) {
void *mem;

View file

@ -1,6 +1,6 @@
#include "libc/mem/mem.h"
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/*
Common support for independent_X routines, handling
@ -152,7 +152,7 @@ static void **ialloc(mstate m, size_t n_elements, size_t *sizes, int opts,
* int n = read_number_of_nodes_needed();
* if (n <= 0) return 0;
* pool = (struct Node**)(independent_calloc(n, sizeof(struct Node), 0);
* if (pool == 0) die();
* if (pool == 0) __die();
* // organize into a linked list...
* struct Node* first = pool[0];
* for (i = 0; i < n-1; ++i)
@ -206,8 +206,7 @@ void **dlindependent_calloc(size_t n_elements, size_t elem_size,
* int msglen = strlen(msg);
* size_t sizes[3] = { sizeof(struct Head), msglen, sizeof(struct Foot) };
* void* chunks[3];
* if (independent_comalloc(3, sizes, chunks) == 0)
* die();
* if (independent_comalloc(3, sizes, chunks) == 0) __die();
* struct Head* head = (struct Head*)(chunks[0]);
* char* body = (char*)(chunks[1]);
* struct Foot* foot = (struct Foot*)(chunks[2]);

View file

@ -1,4 +1,4 @@
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/* Check properties of any chunk, whether free, inuse, mmapped etc */
forceinline void do_check_any_chunk(mstate m, mchunkptr p) {

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
size_t dlmalloc_usable_size(const void* mem) {
if (mem != 0) {

View file

@ -1,5 +1,5 @@
#include "libc/bits/initializer.h"
#include "libc/bits/safemacros.h"
#include "libc/bits/initializer.internal.h"
#include "libc/bits/safemacros.internal.h"
#include "libc/calls/internal.h"
#include "libc/calls/struct/sysinfo.h"
#include "libc/conv/conv.h"
@ -14,7 +14,7 @@
#include "libc/sysv/consts/map.h"
#include "libc/sysv/consts/prot.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
STATIC_YOINK("_init_dlmalloc");

View file

@ -1,6 +1,6 @@
#include "third_party/dlmalloc/dlmalloc.h"
#include "libc/mem/mem.h"
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Prints on stderr the amount of space obtained from the system (both

View file

@ -1,4 +1,4 @@
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/* Realloc using mmap */
static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb, int flags) {

View file

@ -1,7 +1,7 @@
#include "libc/bits/bits.h"
#include "libc/mem/mem.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void* dlmemalign$impl(mstate m, size_t alignment, size_t bytes) {
void* mem = 0;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlmemalign(size_t alignment, size_t bytes) {
if (alignment <= MALLOC_ALIGNMENT) return dlmalloc(bytes);

View file

@ -1,7 +1,7 @@
#include "libc/errno.h"
#include "libc/mem/mem.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
int dlposix_memalign(void** pp, size_t alignment, size_t bytes) {
void* mem;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlpvalloc(size_t bytes) {
size_t pagesz;

View file

@ -1,6 +1,6 @@
#include "libc/str/str.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlrealloc(void *oldmem, size_t bytes) {
void *mem = 0;

View file

@ -1,6 +1,6 @@
#include "libc/mem/mem.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlrealloc_in_place(void *oldmem, size_t bytes) {
void *mem = 0;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlvalloc(size_t bytes) {
size_t pagesz;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns (by copy) a struct containing various summary statistics:

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns the number of bytes obtained from the system. The total

View file

@ -1,6 +1,6 @@
#include "libc/limits.h"
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns the number of bytes that the heap is allowed to obtain from

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
static void internal_inspect_all(mstate m,
void (*handler)(void* start, void* end,

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns the maximum number of bytes obtained from the system. This

View file

@ -1,6 +1,6 @@
#include "libc/limits.h"
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Sets the maximum number of bytes to obtain from the system, causing

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* If possible, gives memory back to the system (via negative arguments

View file

@ -1,6 +1,6 @@
#include "libc/limits.h"
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Sets memory allocation parameter.

View file

@ -18,9 +18,9 @@
02110-1301 USA
*/
#include "libc/conv/itoa.h"
#include "libc/runtime/missioncritical.h"
#include "libc/runtime/runtime.h"
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
static uintptr_t lastfree_;