summaryrefslogtreecommitdiff
path: root/sysroot/README
blob: 93401f8f75281209042c9b0a6bba8260925e3fad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
MCPU sysroot source tree
========================

This directory is the canonical build-time source image of the target MCPU
system root.  It contains target-facing ABI/configuration material and CRT
sources; it does not contain manual examples or regression-only emulators.

Runtime-root configuration
--------------------------

The canonical LibMCPU runtime-root configuration source is:

  sysroot/etc/mcpu-ld.conf

`make install` installs it as:

  <MCPU-root>/etc/mcpu-ld.conf

where `<MCPU-root>` is the configured target MCPU root (normally
`$(libdir)/mcpu`).  The installed runtime path is unchanged; only source-tree
ownership now follows the sysroot layout.

Assembler ABI headers
---------------------

The canonical public assembler ABI headers are:

  sysroot/include/sys/asm/

They are the only source used by the LibMCPU build to install
`<MCPU-root>/include/sys/asm/` and by regression tests that validate the public
assembler ABI.

HLL CRT
-------

The canonical LibMCPU CRT assembler sources are:

  sysroot/usr/src/mcpu/crt/

They are assembled out-of-tree into:

  $builddir/sysroot/lib/mcpu/

and `make install` installs `crt0.o`, `crt1.o`, `crti.o`, and `crtn.o` under:

  <MCPU-root>/lib/mcpu/

The target sysroot intentionally contains no `libc-stub` or `hll-emul`
development trees.  HLL/CRT regression fixtures belong to `tests/fixtures/`;
real MCPU Libc and compiler-output examples are separate projects/packages.