Index: kernel/arch/sparc64/src/drivers/kbd.c
===================================================================
--- kernel/arch/sparc64/src/drivers/kbd.c	(revision 88a0f58ef0fc9c067c9ff215fb6d25e1b4eefe46)
+++ kernel/arch/sparc64/src/drivers/kbd.c	(revision 566da7f8b9ae23f19ca44e238d25be2b62d26752)
@@ -90,5 +90,5 @@
 	size_t size = ((ofw_ebus_reg_t *) prop->value)->size;
 	
-	uintptr_t pa;
+	uintptr_t pa = 0; // Prevent -Werror=maybe-uninitialized
 	if (!ofw_ebus_apply_ranges(node->parent,
 	    ((ofw_ebus_reg_t *) prop->value), &pa)) {
Index: kernel/arch/sparc64/src/smp/sun4v/smp.c
===================================================================
--- kernel/arch/sparc64/src/smp/sun4v/smp.c	(revision 88a0f58ef0fc9c067c9ff215fb6d25e1b4eefe46)
+++ kernel/arch/sparc64/src/smp/sun4v/smp.c	(revision 566da7f8b9ae23f19ca44e238d25be2b62d26752)
@@ -263,5 +263,5 @@
 		while (md_next_child(&it)) {
 			md_node_t child = md_get_child_node(it);
-			const char *exec_unit_type;
+			const char *exec_unit_type = "";
 			md_get_string_property(child, "type", &exec_unit_type);
 
Index: kernel/generic/src/console/cmd.c
===================================================================
--- kernel/generic/src/console/cmd.c	(revision 88a0f58ef0fc9c067c9ff215fb6d25e1b4eefe46)
+++ kernel/generic/src/console/cmd.c	(revision 566da7f8b9ae23f19ca44e238d25be2b62d26752)
@@ -1149,5 +1149,5 @@
 int cmd_set4(cmd_arg_t *argv)
 {
-	uintptr_t addr;
+	uintptr_t addr = 0; // Prevent -Werror=maybe-uninitialized
 	uint32_t arg1 = argv[1].intval;
 	bool pointer = false;
Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision 88a0f58ef0fc9c067c9ff215fb6d25e1b4eefe46)
+++ kernel/generic/src/mm/as.c	(revision 566da7f8b9ae23f19ca44e238d25be2b62d26752)
@@ -1725,5 +1725,5 @@
 	ASSERT(count);
 	
-	btree_node_t *leaf;
+	btree_node_t *leaf = NULL;
 	size_t pages = (size_t) btree_search(&area->used_space, page, &leaf);
 	if (pages) {
@@ -1733,4 +1733,6 @@
 		return false;
 	}
+
+	ASSERT(leaf != NULL);
 	
 	if (!leaf->keys) {
Index: kernel/generic/src/mm/frame.c
===================================================================
--- kernel/generic/src/mm/frame.c	(revision 88a0f58ef0fc9c067c9ff215fb6d25e1b4eefe46)
+++ kernel/generic/src/mm/frame.c	(revision 566da7f8b9ae23f19ca44e238d25be2b62d26752)
@@ -391,9 +391,10 @@
 	
 	/* Allocate frames from zone */
-	size_t index;
+	size_t index = (size_t) -1;
 	int avail = bitmap_allocate_range(&zone->bitmap, count, zone->base,
 	    FRAME_LOWPRIO, constraint, &index);
 	
 	ASSERT(avail);
+	ASSERT(index != (size_t) -1);
 	
 	/* Update frame reference count */
