2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-22 18:07:57 +00:00
criu/scripts/gen-offsets.sh
Pavel Emelyanov 32adef6f98 build: Move pie/gen-offsets.sh into scripts/
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-10-15 11:30:41 +04:00

44 lines
609 B
Bash

#!/bin/sh
set -e
set -u
FILE=$1
NAME=$2
if test $# -ge 3; then
CROSS_COMPILE=$3
else
CROSS_COMPILE=
fi
INC_GUARD=__${NAME}_h__
PREFIX=${NAME}_blob_offset__
BLOB=${NAME}_blob
OBJNAME=${FILE}.built-in.bin.o
BINARY=${FILE}.built-in.bin
AWK_CMD='$2 ~ /^[tTA]$/ { print "#define '$PREFIX'" $3 " 0x" $1; }'
cat << EOF
/* Autogenerated by $0, do not edit */
#ifndef $INC_GUARD
#define $INC_GUARD
EOF
${CROSS_COMPILE}nm $OBJNAME | grep "__export_" | tr . _ | awk "$AWK_CMD"
cat << EOF
static char $BLOB[] = {
EOF
hexdump -v -e '"\t" 8/1 "0x%02x, " "\n"' $BINARY
cat << EOF
};
#endif /* $INC_GUARD */
EOF