xref: /aosp_15_r20/prebuilts/build-tools/sysroots/aarch64-unknown-linux-musl/bin/ld.musl-clang (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker#!/bin/sh
2*cda5da8dSAndroid Build Coastguard Workercc="clang"
3*cda5da8dSAndroid Build Coastguard Workerlibc_lib="$(dirname "$0")/../lib"
4*cda5da8dSAndroid Build Coastguard Workerldso="$(dirname "$0")/../lib/ld-musl.so.1"
5*cda5da8dSAndroid Build Coastguard Workercleared=
6*cda5da8dSAndroid Build Coastguard Workershared=
7*cda5da8dSAndroid Build Coastguard Workeruserlinkdir=
8*cda5da8dSAndroid Build Coastguard Workeruserlink=
9*cda5da8dSAndroid Build Coastguard Worker
10*cda5da8dSAndroid Build Coastguard Workerfor x ; do
11*cda5da8dSAndroid Build Coastguard Worker    test "$cleared" || set -- ; cleared=1
12*cda5da8dSAndroid Build Coastguard Worker
13*cda5da8dSAndroid Build Coastguard Worker    case "$x" in
14*cda5da8dSAndroid Build Coastguard Worker        -L-user-start)
15*cda5da8dSAndroid Build Coastguard Worker            userlinkdir=1
16*cda5da8dSAndroid Build Coastguard Worker            ;;
17*cda5da8dSAndroid Build Coastguard Worker        -L-user-end)
18*cda5da8dSAndroid Build Coastguard Worker            userlinkdir=
19*cda5da8dSAndroid Build Coastguard Worker            ;;
20*cda5da8dSAndroid Build Coastguard Worker        -L*)
21*cda5da8dSAndroid Build Coastguard Worker            test "$userlinkdir" && set -- "$@" "$x"
22*cda5da8dSAndroid Build Coastguard Worker            ;;
23*cda5da8dSAndroid Build Coastguard Worker        -l-user-start)
24*cda5da8dSAndroid Build Coastguard Worker            userlink=1
25*cda5da8dSAndroid Build Coastguard Worker            ;;
26*cda5da8dSAndroid Build Coastguard Worker        -l-user-end)
27*cda5da8dSAndroid Build Coastguard Worker            userlink=
28*cda5da8dSAndroid Build Coastguard Worker            ;;
29*cda5da8dSAndroid Build Coastguard Worker        crtbegin*.o|crtend*.o)
30*cda5da8dSAndroid Build Coastguard Worker            set -- "$@" $($cc -print-file-name=$x)
31*cda5da8dSAndroid Build Coastguard Worker            ;;
32*cda5da8dSAndroid Build Coastguard Worker        -lgcc|-lgcc_eh)
33*cda5da8dSAndroid Build Coastguard Worker            file=lib${x#-l}.a
34*cda5da8dSAndroid Build Coastguard Worker            set -- "$@" $($cc -print-file-name=$file)
35*cda5da8dSAndroid Build Coastguard Worker            ;;
36*cda5da8dSAndroid Build Coastguard Worker        -l*)
37*cda5da8dSAndroid Build Coastguard Worker            test "$userlink" && set -- "$@" "$x"
38*cda5da8dSAndroid Build Coastguard Worker            ;;
39*cda5da8dSAndroid Build Coastguard Worker        -shared)
40*cda5da8dSAndroid Build Coastguard Worker            shared=1
41*cda5da8dSAndroid Build Coastguard Worker            set -- "$@" -shared
42*cda5da8dSAndroid Build Coastguard Worker            ;;
43*cda5da8dSAndroid Build Coastguard Worker        -sysroot=*|--sysroot=*)
44*cda5da8dSAndroid Build Coastguard Worker            ;;
45*cda5da8dSAndroid Build Coastguard Worker        *)
46*cda5da8dSAndroid Build Coastguard Worker            set -- "$@" "$x"
47*cda5da8dSAndroid Build Coastguard Worker            ;;
48*cda5da8dSAndroid Build Coastguard Worker    esac
49*cda5da8dSAndroid Build Coastguard Workerdone
50*cda5da8dSAndroid Build Coastguard Worker
51*cda5da8dSAndroid Build Coastguard Workerexec $($cc -print-prog-name=ld) -nostdlib "$@" -lc -dynamic-linker "$ldso"
52