diff --git a/src/interp/elf/dload.c b/src/interp/elf/dload.c
index 68ec69cfc1e2e1c473c3c0fae8f922888479684e..ce548b869ed48e380ebb69e4223d578f731a32b2 100644 (file)
--- a/src/interp/elf/dload.c
+++ b/src/interp/elf/dload.c
#endif
-#if 0
+#if 1
/*****************************************************************************/
/* delete_DLIMP_Loaded_Module() */
/* */
/* Hacky way of indicating that the base image is no longer available. */
/* WHHHHAAAAAAATTT!?!?!?!?!?! */
/*----------------------------------------------------------------------*/
+#if 0
if (loaded_module->file_handle == DLIMP_application_handle)
DLIMP_application_handle = 0;
+#endif
/*-----------------------------------------------------------------------*/
/* Free host heap memory that was allocated for the internal loaded */
@@ -985,7 +987,7 @@ static DLIMP_Loaded_Module *detach_loaded_module(DLIMP_Dynamic_Module *dyn_modul
}
-#if 0
+#if 1
/*****************************************************************************/
/* delete_DLIMP_Dynamic_Module() */
/* */
/*------------------------------------------------------------------------*/
/* Destruct dynamic module object. */
/*------------------------------------------------------------------------*/
-#if 0
delete_DLIMP_Dynamic_Module(&dyn_module);
-#endif
#if LOADER_DEBUG
if (debugging_on) printf("Finished dload_static_executable()\n");
@@ -2409,6 +2409,7 @@ int32_t DLOAD_load(LOADER_FILE_DESC *fd, int argc, char** argv, int32_t *entry)
/*------------------------------------------------------------------------*/
/* Support static loading as special case. */
/*------------------------------------------------------------------------*/
+ *entry = 0;
if (!dyn_module->relocatable) {
return (dload_static_executable(fd, dyn_module));
*entry = dyn_module->fhdr.e_entry;