github.com/afumu/libc@v0.0.6/musl/tools/ld.musl-clang.in (about)

     1  #!/bin/sh
     2  cc="@CC@"
     3  libc_lib="@LIBDIR@"
     4  ldso="@LDSO@"
     5  cleared=
     6  shared=
     7  userlinkdir=
     8  userlink=
     9  
    10  for x ; do
    11      test "$cleared" || set -- ; cleared=1
    12  
    13      case "$x" in
    14          -L-user-start)
    15              userlinkdir=1
    16              ;;
    17          -L-user-end)
    18              userlinkdir=
    19              ;;
    20          -L*)
    21              test "$userlinkdir" && set -- "$@" "$x"
    22              ;;
    23          -l-user-start)
    24              userlink=1
    25              ;;
    26          -l-user-end)
    27              userlink=
    28              ;;
    29          crtbegin*.o|crtend*.o)
    30              set -- "$@" $($cc -print-file-name=$x)
    31              ;;
    32          -lgcc|-lgcc_eh)
    33              file=lib${x#-l}.a
    34              set -- "$@" $($cc -print-file-name=$file)
    35              ;;
    36          -l*)
    37              test "$userlink" && set -- "$@" "$x"
    38              ;;
    39          -shared)
    40              shared=1
    41              set -- "$@" -shared
    42              ;;
    43          -sysroot=*|--sysroot=*)
    44              ;;
    45          *)
    46              set -- "$@" "$x"
    47              ;;
    48      esac
    49  done
    50  
    51  exec $($cc -print-prog-name=ld) -nostdlib "$@" -lc -dynamic-linker "$ldso"