Index: stand/common/module.c =================================================================== --- stand/common/module.c +++ stand/common/module.c @@ -556,6 +556,7 @@ int error; int i; + TSENTER2(filename); if (archsw.arch_loadaddr != NULL) dest = archsw.arch_loadaddr(LOAD_RAW, filename, dest); @@ -582,6 +583,7 @@ break; } } + TSEXIT(); return (error); } @@ -743,9 +745,11 @@ int verror; #endif + TSENTER2(fname); /* We can't load first */ if ((file_findfile(NULL, NULL)) == NULL) { command_errmsg = "can't load file before kernel"; + TSEXIT(); return(NULL); } @@ -754,6 +758,7 @@ if (name == NULL) { snprintf(command_errbuf, sizeof(command_errbuf), "can't find '%s'", fname); + TSEXIT(); return(NULL); } @@ -761,6 +766,7 @@ snprintf(command_errbuf, sizeof(command_errbuf), "can't open '%s': %s", name, strerror(errno)); free(name); + TSEXIT(); return(NULL); } @@ -772,6 +778,7 @@ free(name); free(vctx); close(fd); + TSEXIT(); return(NULL); } #else @@ -781,6 +788,7 @@ name, ve_error_get()); free(name); close(fd); + TSEXIT(); return(NULL); } #endif @@ -805,6 +813,7 @@ #ifdef LOADER_VERIEXEC_VECTX free(vctx); #endif + TSEXIT(); return(NULL); } laddr += got; @@ -817,6 +826,7 @@ free(name); close(fd); free(vctx); + TSEXIT(); return(NULL); } #endif @@ -828,6 +838,7 @@ "no memory to load %s", name); free(name); close(fd); + TSEXIT(); return (NULL); } fp->f_name = name; @@ -843,6 +854,7 @@ "no memory to load %s", name); free(name); close(fd); + TSEXIT(); return (NULL); } /* recognise space consumption */ @@ -852,6 +864,7 @@ if (insert != 0) file_insert_tail(fp); close(fd); + TSEXIT(); return(fp); } @@ -867,8 +880,10 @@ int err; char *filename; + TSENTER2(modname); if (file_havepath(modname)) { printf("Warning: mod_load() called instead of mod_loadkld() for module '%s'\n", modname); + TSEXIT(); return (mod_loadkld(modname, argc, argv)); } /* see if module is already loaded */ @@ -880,6 +895,7 @@ #endif snprintf(command_errbuf, sizeof(command_errbuf), "warning: module '%s' already loaded", mp->m_name); + TSEXIT(); return (0); } /* locate file with the module on the search path */ @@ -887,10 +903,12 @@ if (filename == NULL) { snprintf(command_errbuf, sizeof(command_errbuf), "can't find '%s'", modname); + TSEXIT(); return (ENOENT); } err = mod_loadkld(filename, argc, argv); free(filename); + TSEXIT(); return (err); } @@ -906,6 +924,7 @@ char *filename; vm_offset_t loadaddr_saved; + TSENTER2(kldname); /* * Get fully qualified KLD name */ @@ -913,6 +932,7 @@ if (filename == NULL) { snprintf(command_errbuf, sizeof(command_errbuf), "can't find '%s'", kldname); + TSEXIT(); return (ENOENT); } /* @@ -923,6 +943,7 @@ snprintf(command_errbuf, sizeof(command_errbuf), "warning: KLD '%s' already loaded", filename); free(filename); + TSEXIT(); return (0); } @@ -949,6 +970,7 @@ if (err) file_discard(fp); free(filename); + TSEXIT(); return (err); } Index: stand/libsa/stand.h =================================================================== --- stand/libsa/stand.h +++ stand/libsa/stand.h @@ -486,6 +486,7 @@ /* tslog.c */ #define TSRAW(a, b, c) tslog(a, b, c) #define TSENTER() TSRAW("ENTER", __func__, NULL) +#define TSENTER2(x) TSRAW("ENTER", __func__, x) #define TSEXIT() TSRAW("EXIT", __func__, NULL) #define TSLINE() TSRAW("EVENT", __FILE__, __XSTRING(__LINE__)) void tslog(const char *, const char *, const char *);