xcc arm9 sysroot 0.6 — NOTICE
=============================

This archive contains one file that xcc needs in order to compile for the
arm9 (Zynq-7020 Cortex-A9 / XTOS) target:

    libc.so     2,946,812 bytes
                sha256 88228a0f0ab13a6f29866e6823920fcc32fbab8eaefcf436e7c3d4d6a393cc33
                soname "libc.so", 1047 exported symbols

`xcc -A arm9` emits a loader-hosted ET_DYN object and resolves the C library
from this file's DWARF, so it must be on the library search path:

    xcc -A arm9 -L path/to/xcc-arm9-sysroot-0.6 -o prog.so prog.xc

Compiling is what this archive is for. Running the result needs an XTOS
kernel, which is not distributed here.


What libc.so is built from
--------------------------

newlib 4.4.0.20231231, rebuilt as position-independent code for the
Cortex-A9 (`-fPIC`, softfp), linked as a shared object together with two
small additions:

  * opendir/readdir/closedir (127 lines). newlib has no directory support
    at all: its <dirent.h> is a hard #error and libc.a defines none of
    these names.

  * a futex-backed __malloc_lock / __malloc_unlock (122 lines). newlib
    ships those as no-op stubs and expects a port to supply them; without
    real ones, two threads of one process inside malloc corrupt the arena.

The link applies a version script so the four POSIX names the XTOS shim
also defines stay local to this library, and wraps newlib's malloc lock
references onto the real ones.


Licensing
---------

newlib is a collection of software from several sources, each with its own
copyright and licence — all of them BSD-style permissive terms. The
complete set is in COPYING.NEWLIB, included in this archive. Upstream:
<https://sourceware.org/newlib/>.

The two additions described above are Copyright (C) 2026
ThrudTheBarbarian@compile-xc.org and are offered under the same terms as
newlib itself, so this binary as a whole carries a single, permissive
licence.

Nothing in this archive is covered by the GPL that applies to the xcc
compiler, and linking your program against it places no obligation on your
program.
