#!/bin/sh # Convert a binary file to elf format. Useful for loading with gdb. case "$#" in 3) ;; 4) ARCH=$1- shift ;; *) echo "Usage: bin2elf [arch] input output address" >&2 exit 1 ;; esac INPUT=$1 OUTPUT=$2 ADDR=$3 touch /tmp/empty.c ${ARCH}gcc -nostartfiles -nostdlib /tmp/empty.c -o $OUTPUT 2> /dev/null rm /tmp/empty.c ${ARCH}objcopy --remove-section=.text --remove-section=.data --remove-section=.bss --remove-section=.sbss --remove-section=.comment --remove-section=.note --add-section=.bin=$INPUT --adjust-section-vma=.bin=$ADDR --no-adjust-warnings --set-section-flags=.bin=alloc,load,data $OUTPUT 2> /dev/null