• Home
  • Raw
  • Download

Lines Matching +full:linux +full:- +full:musl +full:- +full:llvm

2 Quick Installation Guide for musl libc
5 There are many different ways to install musl depending on your usage
6 case. This document covers only the build and installation of musl by
7 itself, which is useful for upgrading an existing musl-based system or
8 compiler toolchain, or for using the provided musl-gcc wrapper with an
9 existing non-musl-based compiler.
11 Building complete native or cross-compiler toolchains is outside the
12 scope of this INSTALL file. More information can be found on the musl
17 -------------------
19 The only build-time prerequisites for musl are GNU Make and a
22 extensions consisting mainly of gcc-style inline assembly, weak
23 aliases, hidden visibility, and stand-alone assembly source files.
25 GCC, LLVM/clang, Firm/cparser, and PCC have all successfully built
26 musl, but GCC is the most widely used/tested. Recent compiler (and
28 versions have bugs which affect musl.
30 The system used to build musl does not need to be Linux-based, nor do
31 the Linux kernel headers need to be available.
36 -----------------
38 musl can be built for the following CPU instruction set architecture
50 * EABI, standard or hard-float VFP variant
51 * Little-endian default; big-endian variants also supported
55 * Little-endian default; big-endian variants also supported
59 * Big-endian default; little-endian variants also supported
60 * Default ABI variant uses FPU registers; alternate soft-float ABI
62 * MIPS2 or later, or kernel emulation of ll/sc (standard in Linux)
68 * Big-endian default; little-endian variants also supported
69 * Default ABI variant uses FPU registers; alternate soft-float ABI
73 * Compiler toolchain must provide 64-bit long double, not IBM
74 double-double or IEEE quad
80 * Compiler toolchain must provide 64-bit long double, not IBM
81 double-double or IEEE quad
85 * S390X (64-bit S390)
88 * Standard ELF ABI or FDPIC ABI (shared-text without MMU)
89 * Little-endian by default; big-endian variant also supported
90 * Full FPU ABI or soft-float ABI is supported, but the
91 single-precision-only FPU ABI is not
94 * Big-endian default; little-endian variants also supported
95 * Soft-float
100 * RISC-V
101 * 32-bit and 64-bit
103 * Hard, soft, and hard-single/soft-double floating point ABIs
104 * Standard ELF; no shared-text NOMMU support
107 * 64-bit ISA
108 * Hard, soft, and hard-single/soft-double floating point ABIs
113 --------------------------------
115 To build and install musl:
117 1. Run the provided configure script from the top-level source
131 By default, configure installs to a prefix of "/usr/local/musl". This
135 you're upgrading libc on an existing musl-based system. Doing so will
142 ------------------------
145 of the installation prefix: /lib/ld-musl-$ARCH.so.1. This is the
146 dynamic linker. Its pathname is hard-coded into all dynamic-linked
150 /lib/ld-linux.so.2 on i386 systems.
154 privileges), the --syslibdir option to configure can be used to
159 /etc/ld-musl-$ARCH.path (where $ARCH matches the architecture name
163 non-default location, the path file also needs to reside at that
167 passing --disable-shared to configure; this also cuts the build time
173 ------------------------------------
175 After installing, you should be able to use musl via the musl-gcc
186 /usr/local/musl/bin/musl-gcc hello.c
189 To configure autoconf-based program to compile and link against musl,
190 set the CC variable to musl-gcc when running configure, as in:
192 CC=musl-gcc ./configure ...
194 You will probably also want to use --prefix when building libraries to
195 ensure that they are installed under the musl prefix and not in the