aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorLi-Wen Hsu <lwhsu@FreeBSD.org>2017-01-10 18:46:40 +0000
committerLi-Wen Hsu <lwhsu@FreeBSD.org>2017-01-10 18:46:40 +0000
commit0a5023893550da8537932e02225f239a3ba3652b (patch)
treea00dd4b34954901ecc9a0c852314c21a39b5fcde /sys
parentc70c4d71dec943ff4af7bd9b0ae924985b8d3a9a (diff)
downloadsrc-0a5023893550da8537932e02225f239a3ba3652b.tar.gz
src-0a5023893550da8537932e02225f239a3ba3652b.zip
Replace using of objdump with elfdump
In-tree objdump is too old to dump new ELF headers. But for example if we use: `make CROSS_TOOLCHAIN=riscv64-gcc TARGET_ARCH=riscv64` and do not specify CROSS_BINUTILS_PREFIX in env, embed_mfs.sh cannot find the correct objdump. This patch just replaces using of objdump with elfdump to collect needed information. Later we may also put an ELFDUMP in CROSSENV and use it in embed_mfs.sh . Reviewed by: emaste, br MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D9062
Notes
Notes: svn path=/head/; revision=311881
Diffstat (limited to 'sys')
-rw-r--r--sys/tools/embed_mfs.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/tools/embed_mfs.sh b/sys/tools/embed_mfs.sh
index 66c50c2da111..a7ac80c8f8d3 100644
--- a/sys/tools/embed_mfs.sh
+++ b/sys/tools/embed_mfs.sh
@@ -36,12 +36,12 @@ mfs_size=`stat -f '%z' $2 2> /dev/null`
# If we can't determine MFS image size - bail.
[ -z ${mfs_size} ] && echo "Can't determine MFS image size" && exit 1
-sec_info=`${CROSS_BINUTILS_PREFIX}objdump -h $1 2> /dev/null | grep " oldmfs "`
+sec_info=`elfdump -c $1 2> /dev/null | grep -A 5 -E "sh_name: oldmfs$"`
# If we can't find the mfs section within the given kernel - bail.
[ -z "${sec_info}" ] && echo "Can't locate mfs section within kernel" && exit 1
-sec_size=`echo ${sec_info} | awk '{printf("%d", "0x" $3)}' 2> /dev/null`
-sec_start=`echo ${sec_info} | awk '{printf("%d", "0x" $6)}' 2> /dev/null`
+sec_size=`echo "${sec_info}" | awk '/sh_size/ {print $2}' 2> /dev/null`
+sec_start=`echo "${sec_info}" | awk '/sh_offset/ {print $2}' 2> /dev/null`
# If the mfs section size is smaller than the mfs image - bail.
[ ${sec_size} -lt ${mfs_size} ] && echo "MFS image too large" && exit 1