From: Antti Kantee Date: Tue, 9 Feb 2016 14:29:38 +0000 (+0000) Subject: genfs: make symbols private X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=56356b9ec2debe23dff5da33044c07a05a71fdf1;p=osstest%2Frumprun.git genfs: make symbols private Fixes baking multiple genfs'd objects. (or, actually, any user-supplied ones since etc comes by default) --- diff --git a/app-tools/genfs.in b/app-tools/genfs.in index b5583c3..f131cb9 100644 --- a/app-tools/genfs.in +++ b/app-tools/genfs.in @@ -96,6 +96,7 @@ makeelfdata () { fn=0 + LSYM= for f in ${FILES}; do setfilevars ${f} ln -sf ${fabs} ${LINKPATH} @@ -106,12 +107,13 @@ makeelfdata () --redefine-sym ${LINKPATH_BIN}_size=${rf}_size \ --strip-symbol ${LINKPATH_BIN}_end \ ${TMPDIR}/d${fn}.o + LSYM="${LSYM} -L ${rf}_start -L ${rf}_size" printf 'extern uint8_t %s_start, %s_size;\n' ${rf} ${rf} done printf '\n' - printf 'struct rumprun_extfile files[] = {\n' + printf 'static struct rumprun_extfile files[] = {\n' fn=0 for f in ${FILES}; do @@ -150,6 +152,7 @@ printtail exec 1>&3 3>&- ${RUMPRUN_GENFS_CC} !CFLAGS! !CPPFLAGS! -I${RUMPRUN_GENFS_INCDIR} \ - -nostdlib -Wl,-r -o ${OUTFILE} ${TMPDIR}/d*.o ${TMPDIR}/constr.c + -nostdlib -Wl,-r -o ${TMPDIR}/fin.o ${TMPDIR}/d*.o ${TMPDIR}/constr.c +${RUMPRUN_GENFS_OBJCOPY} ${LSYM} ${TMPDIR}/fin.o ${OUTFILE} exit 0