|  | #!/bin/sh | 
|  | # 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 |