#! /bin/sh -e SCRATCH=scratch/$(basename $0 .sh) rm -rf ${SCRATCH} mkdir -p ${SCRATCH} cp simple-pie ${SCRATCH}/simple-pie # Save the old OS ABI OLDABI=`../src/patchelf --print-os-abi ${SCRATCH}/simple-pie` # Ensure it's not empty test -n "$OLDABI" # Change OS ABI and verify it has been changed { echo "System V" echo "HP-UX" echo "NetBSD" echo "Linux" echo "GNU Hurd" echo "Solaris" echo "AIX" echo "IRIX" echo "FreeBSD" echo "Tru64" echo "OpenBSD" echo "OpenVMS" } | { while IFS="\n" read ABI; do echo "Set OS ABI to '$ABI'..." ../src/patchelf --set-os-abi "$ABI" ${SCRATCH}/simple-pie echo "Check is OS ABI is '$ABI'..." NEWABI=`../src/patchelf --print-os-abi ${SCRATCH}/simple-pie` test "$NEWABI" = "$ABI" done } # Reset OS ABI to the saved one ../src/patchelf --set-os-abi "$OLDABI" ${SCRATCH}/simple-pie # Verify we still can run the executable ${SCRATCH}/simple-pie