mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 11:18:30 +00:00
Initial import
This commit is contained in:
commit
c91b3c5006
14915 changed files with 590219 additions and 0 deletions
24
libc/sysv/README.md
Normal file
24
libc/sysv/README.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
SYNOPSIS
|
||||
|
||||
System Five Import Libraries
|
||||
|
||||
OVERVIEW
|
||||
|
||||
Bell System Five is the umbrella term we use to describe Linux,
|
||||
FreeBSD, OpenBSD, and Mac OS X which all have nearly-identical
|
||||
application binary interfaces that stood the test of time, having
|
||||
definitions nearly the same as those of AT&T back in the 1980's.
|
||||
|
||||
Cosmopolitan aims to help you build apps that can endure over the
|
||||
course of decades, just like these systems have: without needing to
|
||||
lift a finger for maintenance churn, broken builds, broken hearts.
|
||||
|
||||
The challenge to System V binary compatibility basically boils down
|
||||
to numbers. All these systems agree on what services are provided,
|
||||
but tend to grant them wildly different numbers.
|
||||
|
||||
We address this by putting all the numbers in a couple big shell
|
||||
scripts, ask the GNU Assembler to encode them into binaries using an
|
||||
efficient LEB128 encoding, unpacked by _init(), and ref'd via extern
|
||||
const. It gives us good debuggability, and any costs are gained back
|
||||
by fewer branches in wrapper functions.z
|
Loading…
Add table
Add a link
Reference in a new issue