#!/bin/sh # $Id: split-exe,v 1.3 2010/04/20 19:03:52 friedman Exp $ ofmt="-O binary" case $1 in -O ) ofmt="-O $2"; shift; shift ;; esac for exe in ${1+"$@"}; do name=`basename $exe` mkdir -p $name.sections set x `objdump -h $exe | sed -ne '/^ *[0-9]* \(\.[^ ]*\) .*/!d;s//\1/p'` shift for section in ${1+"$@"}; do echo $name: $section outname=`echo $section | sed -e 's/^\./_/' -e 'y/\//_/'` objcopy $ofmt --only-section=$section $exe $name.sections/$outname done done