summary refs log tree commit diff stats
path: root/scripts
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2014-02-10 14:48:57 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2014-02-20 13:14:18 +0100
commite26110cfc67d48331a76e9b1e6f7fed7569e1ab3 (patch)
tree9ac70ad405cdf18189017345ee184f268510db3b /scripts
parent17969268f5938ae1d7f3dedbd73e507badb6146d (diff)
downloadfocaccia-qemu-e26110cfc67d48331a76e9b1e6f7fed7569e1ab3.tar.gz
focaccia-qemu-e26110cfc67d48331a76e9b1e6f7fed7569e1ab3.zip
module: implement module loading
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_$RELEASEHASH

where $RELEASEHASH is generated by hashing version strings and content
of configure script.

With this, modules built from a different tree/version/configure will
not be loaded.

The module loading code requires gmodule-2.0.

Modules are searched under
 - CONFIG_MODDIR
 - executable folder (to allow running qemu-{img,io} in the build
   directory)
 - ../ of executable folder (to allow running system emulator in the
   build directory)

Modules are linked under their subdir respectively, then copied to top
level of build directory for above convinience, e.g.:
    $(BUILD_DIR)/block/curl.so -> $(BUILD_DIR)/block-curl.so

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/create_config3
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/create_config b/scripts/create_config
index 06f5316d9d..546f889144 100755
--- a/scripts/create_config
+++ b/scripts/create_config
@@ -108,6 +108,9 @@ case $line in
     value=${line#*=}
     echo "#define $name $value"
     ;;
+ DSOSUF=*)
+    echo "#define HOST_DSOSUF \"${line#*=}\""
+    ;;
 esac
 
 done # read