1 # Build script for musl.
3 # Copyright (c) 2014-2023 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
20 rm -rf musl-${version}
21 unpack "${worktree}/sources/musl-${version}.tar.gz"
26 #patch -Np1 -i "${worktree}/patches/musl/branch-updates.diff"
28 # Fix debugger tracking of shared libraries on mips with PIE main program
29 patch -Np1 -i "${worktree}/patches/musl/f897461d4fe72bb71854a6d0662de83008caccb7"
31 # Fix wrong sigaction syscall ABI on mips*, or1k, microblaze, riscv64
32 patch -Np1 -i "${worktree}/patches/musl/269d193820342dc109f39909d78fb30f4c978f76"
34 # Support DT_RELR relative relocation format
35 patch -Np1 -i "${worktree}/patches/musl/d32dadd60efb9d3b255351a3b532f8e4c3dd0db1"
37 # Process DT_RELR relocations in ldso-startup/static-pie
38 patch -Np1 -i "${worktree}/patches/musl/6f3ead0ae16deb9f0004b275e29a276c9712ee3c"
40 # Fix double-processing of DT_RELR relocations in ldso relocating itself
41 patch -Np1 -i "${worktree}/patches/musl/29e4319178cbc2a4e9f058a99ae8098d4b6ac055"
43 ./configure CC="${target}-gcc" CROSS_COMPILE="${target}-" \
51 make -j${jobs} DESTDIR="${crossdir}/$target" install
53 # Provide minimal libssp_nonshared.a for the bootstrap process
56 -c "${worktree}/archive/gcc/__stack_chk_fail_local.c" \
57 -o __stack_chk_fail_local.o
59 ${target}-ar rc libssp_nonshared.a __stack_chk_fail_local.o
60 ${target}-ranlib libssp_nonshared.a
61 cp -p libssp_nonshared.a "${crossdir}/${target}/lib/"
65 cd -- "$TMPDIR" && rm -rf musl-${version}