mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-10-04 05:31:02 +00:00
The build/bootstrap/ar.com program is now tinier. This change reduces its size from 140kb to 53kb. Nothing was traded away. Cosmopolitan Ar performance is now 2x better than llvm-ar largely thanks to using the copy_file_range() system call. This change homebrews a new allocation API that addresses the shortcomings of the C standard library design. Using these new balloc() and reballoc() functions I managed to reduce memory consumption so much that Cosmpolitan Ar should now use roughly 100x fewer bytes of peak resident memory compared to llvm-ar. Correct behavior with better compatibility has been assured. Binary output is now pretty much bit-identical to llvm-ar, as of this change. This can and should be the living proof we need to show that a better world is possible for software. |
||
---|---|---|
.. | ||
struct | ||
def.h | ||
elf.h | ||
elf.mk | ||
getelfprogramheaderaddress.c | ||
getelfsectionaddress.c | ||
getelfsectionheaderaddress.c | ||
getelfsectionname.c | ||
getelfsectionnamestringtable.c | ||
getelfstring.c | ||
getelfstringtable.c | ||
getelfsymbols.c | ||
getelfsymboltable.c | ||
iself64binary.c | ||
iselfsymbolcontent.c | ||
pf2prot.internal.h | ||
scalar.h | ||
tinyelf.internal.h |