Changes in uspace/lib/c/generic/ubsan.c [a4cf312:09ab0a9a] in mainline
- File:
-
- 1 edited
-
uspace/lib/c/generic/ubsan.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/ubsan.c
ra4cf312 r09ab0a9a 35 35 }; 36 36 37 struct type_mismatch_data_v1 {38 struct source_location loc;39 struct type_descriptor *type;40 unsigned char log_alignment;41 unsigned char type_check_kind;42 };43 44 37 struct overflow_data { 45 38 struct source_location loc; … … 80 73 struct source_location loc; 81 74 struct source_location attr_loc; 82 };83 84 struct pointer_overflow_data {85 struct source_location loc;86 75 }; 87 76 … … 92 81 */ 93 82 void __ubsan_handle_type_mismatch(struct type_mismatch_data *data, unsigned long ptr); 94 void __ubsan_handle_type_mismatch_v1(struct type_mismatch_data_v1 *data, unsigned long ptr);95 83 void __ubsan_handle_add_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs); 96 84 void __ubsan_handle_sub_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs); … … 111 99 void __ubsan_handle_nonnull_return(struct nonnull_return_data *data); 112 100 void __ubsan_handle_builtin_unreachable(struct unreachable_data *data); 113 void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data,114 unsigned long base, unsigned long result);115 101 116 102 static void print_loc(const char *func, struct source_location *loc) … … 135 121 } 136 122 137 void __ubsan_handle_type_mismatch_v1(struct type_mismatch_data_v1 *data,138 unsigned long ptr)139 {140 print_loc(__func__, &data->loc);141 PRINTF("Type: %s, alignment: %hhu, type_check_kind: %hhu\n",142 data->type->type_name, data->log_alignment, data->type_check_kind);143 ubsan_panic();144 }145 146 123 void __ubsan_handle_add_overflow(struct overflow_data *data, 147 124 unsigned long lhs, … … 251 228 ubsan_panic(); 252 229 } 253 254 void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data,255 unsigned long base, unsigned long result)256 {257 print_loc(__func__, &data->loc);258 ubsan_panic();259 }
Note:
See TracChangeset
for help on using the changeset viewer.
