On Mon, 01/13 22:05, Peter Maydell wrote: > On 13 January 2014 16:59, Paolo Bonzini <pbonz...@redhat.com> wrote: > > From: Fam Zheng <f...@redhat.com> > > > > This patch adds loading, stamp checking and initialization of modules. > > > > The init function of dynamic module is no longer directly called as > > __attribute__((constructor)) in static linked version, it is called > > only after passed the checking of presense of stamp symbol: > > > > qemu_stamp_$(date +%s$$$RANDOM) > > > > > +echo "CONFIG_STAMP=`date +%s`_$$_$RANDOM" >> $config_host_mak > > This is not really a good idea because $RANDOM is a bashism > and our configure script is a generic POSIX shell script. In > particular if you configure on Ubuntu you're likely to find that /bin/sh > is dash and $RANDOM silently expands to the empty string. > > (One day I will clean up the tempfile generation stuff to fix > its misuse of $RANDOM...) >
So what's the best way to generate random number here? > > +void DSO_STAMP_FUN(void); > > +/* For error message, this function is an identification of qemu module */ > > What is this comment trying to say? Existence of this symbol indicates it *is* a qemu module. Where we continue to check for existence of DSO_STAMP_FUN, and report it's only the wrong version. Thanks, Fam