Index: uspace/lib/c/generic/ubsan.c
===================================================================
--- uspace/lib/c/generic/ubsan.c	(revision 09ab0a9afc9379f1604c0fd75cac2d9287ba022c)
+++ uspace/lib/c/generic/ubsan.c	(revision 3e828ea40985ce126affd5d7faa6ba679802b4db)
@@ -35,4 +35,11 @@
 };
 
+struct type_mismatch_data_v1 {
+	struct source_location loc;
+	struct type_descriptor *type;
+	unsigned char log_alignment;
+	unsigned char type_check_kind;
+};
+
 struct overflow_data {
 	struct source_location loc;
@@ -73,4 +80,8 @@
 	struct source_location loc;
 	struct source_location attr_loc;
+};
+
+struct pointer_overflow_data {
+	struct source_location loc;
 };
 
@@ -81,4 +92,5 @@
  */
 void __ubsan_handle_type_mismatch(struct type_mismatch_data *data, unsigned long ptr);
+void __ubsan_handle_type_mismatch_v1(struct type_mismatch_data_v1 *data, unsigned long ptr);
 void __ubsan_handle_add_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs);
 void __ubsan_handle_sub_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs);
@@ -99,4 +111,6 @@
 void __ubsan_handle_nonnull_return(struct nonnull_return_data *data);
 void __ubsan_handle_builtin_unreachable(struct unreachable_data *data);
+void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data,
+    unsigned long base, unsigned long result);
 
 static void print_loc(const char *func, struct source_location *loc)
@@ -121,4 +135,13 @@
 }
 
+void __ubsan_handle_type_mismatch_v1(struct type_mismatch_data_v1 *data,
+    unsigned long ptr)
+{
+	print_loc(__func__, &data->loc);
+	PRINTF("Type: %s, alignment: %hhu, type_check_kind: %hhu\n",
+	    data->type->type_name, data->log_alignment, data->type_check_kind);
+	ubsan_panic();
+}
+
 void __ubsan_handle_add_overflow(struct overflow_data *data,
     unsigned long lhs,
@@ -228,2 +251,9 @@
 	ubsan_panic();
 }
+
+void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data,
+    unsigned long base, unsigned long result)
+{
+	print_loc(__func__, &data->loc);
+	ubsan_panic();
+}
