#! @shell@ source @out@/nix-support/utils.bash expandResponseParams "$@" output="a.out" should_add_repro=true newparams=() for arg in "${params[@]}"; do case "$arg" in -r|--version) should_add_repro=false ;; *) ;; esac case "$prev" in -o) output="$arg" newparams+=("$arg") ;; *) if [ -e "$arg.nolldrepro" ]; then newparams+=("$arg.nolldrepro") else newparams+=("$arg") fi ;; esac prev="$arg" done export LLD_REPRODUCE="$output.repro.tar" if @targetPrefix@nix-wrap-lld "${newparams[@]}"; then if $should_add_repro; then @lz4@ -c "$LLD_REPRODUCE" > "$LLD_REPRODUCE.lz4" mv "$output" "$output.nolldrepro" @targetPrefix@objcopy --add-section ".lld_repro=$LLD_REPRODUCE.lz4" "$output.nolldrepro" "$output" rm -f "$LLD_REPRODUCE.lz4" fi exitcode=0 else # Some Nix packages don't link with lld so just use bfd instead. @targetPrefix@ld.bfd "${newparams[@]}" exitcode=$? fi rm -f "$LLD_REPRODUCE" exit $exitcode