diff options
author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-02-26 12:43:20 +0000 |
---|---|---|
committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-02-26 12:43:20 +0000 |
commit | e5af3bd1c99c58d9dd19baec10e1b5e8f064858d (patch) | |
tree | e4674045e090ab283ea4b0877c9b58f9ac7bee64 /usr/src/boot/lib/libstand | |
parent | 1b1bcfc89ac08be2fc9fd5df44b98ec44e4d909b (diff) | |
parent | 52abb70e073c2a88808c0d66fd810ba8c5080572 (diff) | |
download | illumos-joyent-e5af3bd1c99c58d9dd19baec10e1b5e8f064858d.tar.gz |
[illumos-gate merge]
commit 52abb70e073c2a88808c0d66fd810ba8c5080572
9691 fat zap should prefetch when iterating
commit 8648b7db4afb6cc9a8e5b55e38e99c8c64b74e86
10435 dld: NULL pointer errors
commit c4b91d4b4753f33280a63b16f5116d23427088b1
10444 linenoise: this statement may fall through
commit 584814c74382743e01cc62cc8764cfde61718c46
10443 loader: move panic.c to libstand
commit c11cea93a9321bd25667986dc65a86b56de2ac04
10441 hxge: NULL pointer errors
commit 1f14a912903a53cb5b4ed3f75e9e4d2be8ded1ba
10440 ipd: NULL pointer errors
commit 2520aea3664a4259338aefa2aa4a4945654615c6
10439 ecpp: NULL pointer errors
commit 55aeed12a7fb74469f7ea0fbb3d2329d4c8c96ae
10438 fd: NULL pointer errors
commit 5c63ad82aeee3300425b5803b5324fd102047957
10437 dca: NULL pointer errors
commit 8d3c0bf06dddf77026f7ea064cfccfae818b5b0f
10434 dump: NULL pointer errors
commit a3f59f6e87a609ee4950ebfcf34be0cca305e58b
10433 bpf: NULL pointer errors
commit 093aa5c8de00cc7b99cc4a2cfaeb7d95115847b7
10432 devinfo: NULL pointer errors
commit a897f299fb4fe4ed74ba062d6b8984404d1b94bc
10431 conskbd: NULL pointer errors
commit b63d0986fbd0638ed6abf1248f1a297c5d9a4f91
10151 mv_xattrs() checks for a NULL array name
commit 5085a9e0a8c766d5e9b74954833264533f617614
10369 sysent: cast between incompatible function types
commit ebc6491a5a66ba44ff1a3fa2a627e67d665604f0
10163 ufs_fsck: bitwise comparison always evaluates to false
Diffstat (limited to 'usr/src/boot/lib/libstand')
-rw-r--r-- | usr/src/boot/lib/libstand/Makefile.inc | 2 | ||||
-rw-r--r-- | usr/src/boot/lib/libstand/panic.c | 58 |
2 files changed, 59 insertions, 1 deletions
diff --git a/usr/src/boot/lib/libstand/Makefile.inc b/usr/src/boot/lib/libstand/Makefile.inc index 1fb9e216f9..8bb6258ac0 100644 --- a/usr/src/boot/lib/libstand/Makefile.inc +++ b/usr/src/boot/lib/libstand/Makefile.inc @@ -29,7 +29,7 @@ SRCS += $(SASRC)/sbrk.c $(SASRC)/twiddle.c SRCS += $(SASRC)/zalloc.c $(SASRC)/zalloc_malloc.c OBJS= __main.o assert.o bcd.o environment.o \ - getopt.o gets.o globals.o pager.o printf.o \ + getopt.o gets.o globals.o pager.o panic.o printf.o \ strdup.o strerror.o strtol.o strtoul.o random.o \ sbrk.o twiddle.o zalloc.o zalloc_malloc.o diff --git a/usr/src/boot/lib/libstand/panic.c b/usr/src/boot/lib/libstand/panic.c new file mode 100644 index 0000000000..14a7c4d8dd --- /dev/null +++ b/usr/src/boot/lib/libstand/panic.c @@ -0,0 +1,58 @@ +/* + * $NetBSD: panic.c,v 1.2 1997/03/22 01:48:36 thorpej Exp $ + */ +/* + * Copyright (c) 1996 + * Matthias Drochner. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed for the NetBSD Project + * by Matthias Drochner. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <sys/cdefs.h> + +#include <stand.h> +#include <machine/stdarg.h> + +extern void exit(int) __dead2; + +void +panic(const char *fmt, ...) +{ + va_list ap; + + printf("panic: "); + va_start(ap, fmt); + vprintf(fmt, ap); + va_end(ap); + printf("\n"); + + printf("--> Press a key on the console to reboot <--\n"); + getchar(); + printf("Rebooting...\n"); + exit(1); +} |