summaryrefslogtreecommitdiff
path: root/usr/src/boot/lib/libstand
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2019-02-26 12:43:20 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2019-02-26 12:43:20 +0000
commite5af3bd1c99c58d9dd19baec10e1b5e8f064858d (patch)
treee4674045e090ab283ea4b0877c9b58f9ac7bee64 /usr/src/boot/lib/libstand
parent1b1bcfc89ac08be2fc9fd5df44b98ec44e4d909b (diff)
parent52abb70e073c2a88808c0d66fd810ba8c5080572 (diff)
downloadillumos-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.inc2
-rw-r--r--usr/src/boot/lib/libstand/panic.c58
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);
+}