47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# PROJECT: XTchain
|
|
# LICENSE: See the COPYING.md in the top level directory
|
|
# FILE: scripts/objdump-wrapper
|
|
# DESCRIPTION: OBJDUMP Wrapper
|
|
# DEVELOPERS: Martin Storsjo <martin@martin.st>
|
|
# Rafal Kupiec <belliash@codingworkshop.eu.org>
|
|
|
|
|
|
# Set basic variables
|
|
DIR="$(cd $(dirname $0) && pwd)"
|
|
|
|
# Update PATH
|
|
export PATH="$DIR":"$PATH"
|
|
|
|
# Libtool can try to run objdump -f and wants to see certain strings in
|
|
# the output, to accept it being a valid windows (import) library
|
|
if [ "$1" = "-f" ]; then
|
|
llvm-readobj $2 | while read -r line; do
|
|
case $line in
|
|
File:*)
|
|
file=$(echo $line | awk '{print $2}')
|
|
;;
|
|
Format:*)
|
|
format=$(echo $line | awk '{print $2}')
|
|
case $format in
|
|
COFF-i386)
|
|
format=pe-i386
|
|
;;
|
|
COFF-x86-64)
|
|
format=pe-x86-64
|
|
;;
|
|
COFF-ARM*)
|
|
# This is wrong; modern COFF armv7 isn't pe-arm-wince, and
|
|
# arm64 definitely isn't, but libtool wants to see this
|
|
# string (or some of the others) in order to accept it.
|
|
format=pe-arm-wince
|
|
;;
|
|
esac
|
|
echo $file: file format $format
|
|
;;
|
|
esac
|
|
done
|
|
else
|
|
llvm-objdump "$@"
|
|
fi
|