Lines Matching defs:shadow

17 //          These return the shadow memory pointer for loading the shadow value,
21 // Sets the shadow types appropriately and returns the shadow memory
22 // pointer for storing the shadow value.
24 // accuracy of a value against its shadow and emits a warning depending
27 // shadow, and depends on the instrumentation configuration.
29 // corresponding shadow fcmp result differs.
57 // When copying application memory, we also copy its shadow and shadow type.
224 // The next three functions return a pointer for storing a shadow value for `n`
225 // values, after setting the shadow types. We return the pointer instead of
229 // since we are setting the type shadow memory.
269 // shadow value of the given type and return a pointer for loading.
313 // Returns the raw shadow pointer. The returned pointer should be considered
320 // Returns the raw shadow type pointer. The returned pointer should be
352 const u8 *const shadow = GetShadowAddrFor(addr);
385 ReadShadow(shadow + kShadowScale * (Offset + 1 - sizeof(float)),
394 shadow + kShadowScale * (Offset + 1 - sizeof(double)),
403 shadow + kShadowScale * (Offset + 1 - sizeof(long double)),
442 // Checks the consistency between application and shadow value. Returns true
444 // rather than the shadow value. This prevents one error to propagate to all
455 // We only check for NaNs in the value, not the shadow.
497 // (value and shadow are inf or -inf), we pass the test.
536 Printf("WARNING: NumericalStabilitySanitizer: inconsistent shadow results");
551 "shadow memory tracking, typically due to uninstrumented code "
571 "%-12s precision (shadow): dec: %s hex: %s\n"
572 "shadow truncated to %-12s: dec: %s hex: %s\n"
601 float value, double shadow, int32_t check_type, uptr check_arg) {
602 return checkFT(value, shadow, static_cast<CheckTypeT>(check_type), check_arg);
606 double value, long double shadow, int32_t check_type, uptr check_arg) {
607 return checkFT(value, shadow, static_cast<CheckTypeT>(check_type), check_arg);
611 double value, __float128 shadow, int32_t check_type, uptr check_arg) {
612 return checkFT(value, shadow, static_cast<CheckTypeT>(check_type), check_arg);
616 __nsan_internal_check_longdouble_q(long double value, __float128 shadow,
618 return checkFT(value, shadow, static_cast<CheckTypeT>(check_type), check_arg);
668 // to simplify instrumented code. Skip elements where the shadow comparison
688 // FIXME: ideally we would print the shadow value as FP128. Right now because
690 // shadow <value> == <value> (false)
700 "%-12s precision dec (shadow): %s %s %s (%s)\n"
702 "%-12s precision hex (shadow): %s %s %s (%s)\n"
758 // Get the shadow 2FT value from the shadow stack. Note that
760 // the instrumentation will have placed the shadow value on the shadow stack.
790 // Get the shadow 2FT value from the shadow stack. Note that
792 // the instrumentation will have placed the shadow value on the shadow stack.
794 ShadowFT shadow;
795 __builtin_memcpy(&shadow, __nsan_shadow_args_ptr, sizeof(ShadowFT));
799 "shadow dec:%s hex:%s\n",
801 ShadowPrinter::dec(shadow).Buffer, ShadowPrinter::hex(shadow).Buffer);