svn commit: r311881 - head/sys/tools
Li-Wen Hsu
lwhsu at FreeBSD.org
Tue Jan 10 18:46:41 UTC 2017
Author: lwhsu (ports committer)
Date: Tue Jan 10 18:46:40 2017
New Revision: 311881
URL: https://svnweb.freebsd.org/changeset/base/311881
Log:
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
Modified:
head/sys/tools/embed_mfs.sh
Modified: head/sys/tools/embed_mfs.sh
==============================================================================
--- head/sys/tools/embed_mfs.sh Tue Jan 10 18:39:53 2017 (r311880)
+++ head/sys/tools/embed_mfs.sh Tue Jan 10 18:46:40 2017 (r311881)
@@ -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
More information about the svn-src-all
mailing list