xref: /aosp_15_r20/external/ltp/doc/old/Supported-kernel,-libc,-toolchain-versions.asciidoc (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
1*49cdfc7eSAndroid Build Coastguard WorkerSupported kernel, libc, toolchain versions
2*49cdfc7eSAndroid Build Coastguard Worker==========================================
3*49cdfc7eSAndroid Build Coastguard Worker
4*49cdfc7eSAndroid Build Coastguard Worker1. Build testing with GitHub Actions
5*49cdfc7eSAndroid Build Coastguard Worker------------------------------------
6*49cdfc7eSAndroid Build Coastguard Worker
7*49cdfc7eSAndroid Build Coastguard WorkerWe test master branch in https://github.com/linux-test-project/ltp/actions[GitHub Actions]
8*49cdfc7eSAndroid Build Coastguard Workerto ensure LTP builds on various distributions including old, current and bleeding edge.
9*49cdfc7eSAndroid Build Coastguard WorkerWe test both gcc and clang toolchains, various architectures with cross-compilation.
10*49cdfc7eSAndroid Build Coastguard WorkerFor list of tested distros see
11*49cdfc7eSAndroid Build Coastguard Workerhttps://github.com/linux-test-project/ltp/blob/master/.github/workflows/ci-docker-build.yml[.github/workflows/ci-docker-build.yml].
12*49cdfc7eSAndroid Build Coastguard Worker
13*49cdfc7eSAndroid Build Coastguard Worker
14*49cdfc7eSAndroid Build Coastguard WorkerNOTE: GitHub Actions does only build testing, passing the CI means only that
15*49cdfc7eSAndroid Build Coastguard Worker      the test compiles fine on variety of different distributions and releases.
16*49cdfc7eSAndroid Build Coastguard Worker      GitHub Actions also uses the latest distribution image of a particular release.
17*49cdfc7eSAndroid Build Coastguard Worker
18*49cdfc7eSAndroid Build Coastguard Worker1.1 Oldest tested distributions
19*49cdfc7eSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20*49cdfc7eSAndroid Build Coastguard Worker
21*49cdfc7eSAndroid Build Coastguard Worker[align="center",options="header"]
22*49cdfc7eSAndroid Build Coastguard Worker|=================================================================
23*49cdfc7eSAndroid Build Coastguard Worker| Distro                       | kernel  | glibc | gcc    | clang
24*49cdfc7eSAndroid Build Coastguard Worker| openSUSE Leap 42.2           | 4.4     | 2.22  | 4.8.5  | -
25*49cdfc7eSAndroid Build Coastguard Worker| Ubuntu 18.04 LTS bionic      | 4.15    | 2.27  | 7.3.0  | -
26*49cdfc7eSAndroid Build Coastguard Worker| Debian 11 (bullseye)         | 5.10    | 2.31  | 10.2.1 | 11.0.1
27*49cdfc7eSAndroid Build Coastguard Worker|=================================================================
28*49cdfc7eSAndroid Build Coastguard Worker
29*49cdfc7eSAndroid Build Coastguard WorkerOlder distributions are not officially supported, which means that it
30*49cdfc7eSAndroid Build Coastguard Workermay or may not work. It all depends on your luck. It should be possible
31*49cdfc7eSAndroid Build Coastguard Workerto compile latest LTP even on slightly older distributions than we
32*49cdfc7eSAndroid Build Coastguard Workersupport with a few manual tweaks, e.g. disabling manually tests for
33*49cdfc7eSAndroid Build Coastguard Workernewly added syscalls, etc. Trivial fixes/workarounds may be accepted,
34*49cdfc7eSAndroid Build Coastguard Workerbut users are encouraged to move to a newer distro.
35*49cdfc7eSAndroid Build Coastguard Worker
36*49cdfc7eSAndroid Build Coastguard WorkerIf latest LTP cannot be compiled even with some amount of workarounds,
37*49cdfc7eSAndroid Build Coastguard Workeryou may result to older LTP releases, however these are _not_ supported
38*49cdfc7eSAndroid Build Coastguard Workerin any way. Also if you are trying to run LTP on more than 10 years old
39*49cdfc7eSAndroid Build Coastguard Workerdistribution you may as well reconsider you life choices.
40*49cdfc7eSAndroid Build Coastguard Worker
41*49cdfc7eSAndroid Build Coastguard Worker1.2 Tested architectures
42*49cdfc7eSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~~~~~
43*49cdfc7eSAndroid Build Coastguard Worker
44*49cdfc7eSAndroid Build Coastguard Worker[align="center",options="header"]
45*49cdfc7eSAndroid Build Coastguard Worker|==================================
46*49cdfc7eSAndroid Build Coastguard Worker| arch          | build
47*49cdfc7eSAndroid Build Coastguard Worker| x86_64        | native
48*49cdfc7eSAndroid Build Coastguard Worker| x86 emulation | native
49*49cdfc7eSAndroid Build Coastguard Worker| aarch64       | cross compilation
50*49cdfc7eSAndroid Build Coastguard Worker| ppc64le       | cross compilation
51*49cdfc7eSAndroid Build Coastguard Worker| s390x         | cross compilation
52*49cdfc7eSAndroid Build Coastguard Worker|==================================
53*49cdfc7eSAndroid Build Coastguard Worker
54*49cdfc7eSAndroid Build Coastguard Worker1.3 Minimal supported kernel version
55*49cdfc7eSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56*49cdfc7eSAndroid Build Coastguard Worker
57*49cdfc7eSAndroid Build Coastguard WorkerMinimal supported kernel version is 4.4.
58*49cdfc7eSAndroid Build Coastguard Worker
59*49cdfc7eSAndroid Build Coastguard Worker1.4 Supported libc
60*49cdfc7eSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~
61*49cdfc7eSAndroid Build Coastguard Worker
62*49cdfc7eSAndroid Build Coastguard Worker[align="center",options="header"]
63*49cdfc7eSAndroid Build Coastguard Worker|==================================
64*49cdfc7eSAndroid Build Coastguard Worker| Libc      | Note
65*49cdfc7eSAndroid Build Coastguard Worker| https://www.gnu.org/software/libc/[GNU C Library (glibc)] | Targeted libc, tested both compilation and actual test results.
66*49cdfc7eSAndroid Build Coastguard Worker| https://uclibc-ng.org/[uClibc-ng] | Although not being tested it should work as well as it attempt to maintain a glibc compatible interface.
67*49cdfc7eSAndroid Build Coastguard Worker| https://www.uclibc.org/[uClibc]   | Older https://www.uclibc.org/[uClibc] might have problems.
68*49cdfc7eSAndroid Build Coastguard Worker| https://musl.libc.org/[musl] | Not yet fully supported (see
69*49cdfc7eSAndroid Build Coastguard Worker                                 https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh[CI script]
70*49cdfc7eSAndroid Build Coastguard Worker                                 for list of files which need to be deleted in order to compile under musl).
71*49cdfc7eSAndroid Build Coastguard Worker| binder (Android) | Please use https://android.googlesource.com/platform/external/ltp/[AOSP fork].
72*49cdfc7eSAndroid Build Coastguard Worker|==================================
73*49cdfc7eSAndroid Build Coastguard Worker
74*49cdfc7eSAndroid Build Coastguard Worker1.5 Used C standard
75*49cdfc7eSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~
76*49cdfc7eSAndroid Build Coastguard Worker
77*49cdfc7eSAndroid Build Coastguard WorkerLTP compiles with '-std=gnu99'.
78