#!/bin/sh | |
# SPDX-License-Identifier: GPL-2.0 | |
# run gcc with ld options | |
# used as a wrapper to execute link time optimizations | |
# yes virginia, this is not pretty | |
ARGS="-nostdlib" | |
while [ "$1" != "" ] ; do | |
case "$1" in | |
-save-temps|-m32|-m64) N="$1" ;; | |
-r) N="$1" ;; | |
-[Wg]*) N="$1" ;; | |
-[olv]|-[Ofd]*|-nostdlib) N="$1" ;; | |
--end-group|--start-group) | |
N="-Wl,$1" ;; | |
-[RTFGhIezcbyYu]*|\ | |
--script|--defsym|-init|-Map|--oformat|-rpath|\ | |
-rpath-link|--sort-section|--section-start|-Tbss|-Tdata|-Ttext|\ | |
--version-script|--dynamic-list|--version-exports-symbol|--wrap|-m) | |
A="$1" ; shift ; N="-Wl,$A,$1" ;; | |
-[m]*) N="$1" ;; | |
-*) N="-Wl,$1" ;; | |
*) N="$1" ;; | |
esac | |
ARGS="$ARGS $N" | |
shift | |
done | |
exec $CC $ARGS |