^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #!/bin/sh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # run gcc with ld options
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # used as a wrapper to execute link time optimizations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) # yes virginia, this is not pretty
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) ARGS="-nostdlib"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) while [ "$1" != "" ] ; do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) case "$1" in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) -save-temps|-m32|-m64) N="$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) -r) N="$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) -[Wg]*) N="$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) -[olv]|-[Ofd]*|-nostdlib) N="$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) --end-group|--start-group)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) N="-Wl,$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) -[RTFGhIezcbyYu]*|\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) --script|--defsym|-init|-Map|--oformat|-rpath|\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) -rpath-link|--sort-section|--section-start|-Tbss|-Tdata|-Ttext|\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) --version-script|--dynamic-list|--version-exports-symbol|--wrap|-m)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) A="$1" ; shift ; N="-Wl,$A,$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) -[m]*) N="$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) -*) N="-Wl,$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) *) N="$1" ;;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) esac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) ARGS="$ARGS $N"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) shift
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) exec $CC $ARGS