Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/ubsan.c

    ra4cf312 r09ab0a9a  
    3535};
    3636
    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 
    4437struct overflow_data {
    4538        struct source_location loc;
     
    8073        struct source_location loc;
    8174        struct source_location attr_loc;
    82 };
    83 
    84 struct pointer_overflow_data {
    85         struct source_location loc;
    8675};
    8776
     
    9281 */
    9382void __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);
    9583void __ubsan_handle_add_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs);
    9684void __ubsan_handle_sub_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs);
     
    11199void __ubsan_handle_nonnull_return(struct nonnull_return_data *data);
    112100void __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);
    115101
    116102static void print_loc(const char *func, struct source_location *loc)
     
    135121}
    136122
    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 
    146123void __ubsan_handle_add_overflow(struct overflow_data *data,
    147124    unsigned long lhs,
     
    251228        ubsan_panic();
    252229}
    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.