]> xenbits.xensource.com Git - osstest/rumprun.git/commitdiff
genfs: make symbols private
authorAntti Kantee <pooka@iki.fi>
Tue, 9 Feb 2016 14:29:38 +0000 (14:29 +0000)
committerAntti Kantee <pooka@iki.fi>
Tue, 9 Feb 2016 14:29:38 +0000 (14:29 +0000)
Fixes baking multiple genfs'd objects.  (or, actually, any
user-supplied ones since etc comes by default)

app-tools/genfs.in

index b5583c38364772ff99fadb58d2e90d6997f380f5..f131cb9f3a2452ad04692291f6edc6bbaad375a1 100644 (file)
@@ -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