diff options
author | dfr <dfr@FreeBSD.org> | 1999-01-25 08:42:24 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1999-01-25 08:42:24 +0000 |
commit | d58f08f33fcaeae672848d0b3824d05303a50b81 (patch) | |
tree | 8f3fd371edf337752b5612724f44e12b1a16f3c5 /sys/kern/link_elf.c | |
parent | 924db72bc603c361cd9ee1dd36e5d5c83aa2a900 (diff) | |
download | FreeBSD-src-d58f08f33fcaeae672848d0b3824d05303a50b81.zip FreeBSD-src-d58f08f33fcaeae672848d0b3824d05303a50b81.tar.gz |
Don't try to call SYSUNINIT functions if there was a link error.
Reviewed by: Peter Wemm <peter@netplex.com.au>
Diffstat (limited to 'sys/kern/link_elf.c')
-rw-r--r-- | sys/kern/link_elf.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index c5e84da..3d86713 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: link_elf.c,v 1.10 1998/11/06 15:16:07 peter Exp $ + * $Id: link_elf.c,v 1.11 1998/12/31 09:17:20 peter Exp $ */ #include <sys/param.h> @@ -175,6 +175,7 @@ link_elf_init(void* arg) } (void)parse_module_symbols(linker_kernel_file); linker_current_file = linker_kernel_file; + linker_kernel_file->flags |= LINKER_FILE_LINKED; } #endif } @@ -384,6 +385,7 @@ link_elf_load_module(const char *filename, linker_file_t *result) return error; } (void)parse_module_symbols(lf); + lf->flags |= LINKER_FILE_LINKED; *result = lf; return (0); } @@ -673,6 +675,8 @@ link_elf_load_file(const char* filename, linker_file_t* result) ef->ddbstrcnt = strcnt; ef->ddbstrtab = ef->strbase; + lf->flags |= LINKER_FILE_LINKED; + nosyms: *result = lf; |