Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Unified Diff: src/trusted/validator/x86/ncval_reg_sfi/nc_jumps.h

Issue 625923004: Delete old x86 validator. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: rebase master Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/trusted/validator/x86/ncval_reg_sfi/nc_jumps.h
diff --git a/src/trusted/validator/x86/ncval_reg_sfi/nc_jumps.h b/src/trusted/validator/x86/ncval_reg_sfi/nc_jumps.h
deleted file mode 100644
index 0fb51f8988acc897f9105a39f0e9dc83a37fcd4f..0000000000000000000000000000000000000000
--- a/src/trusted/validator/x86/ncval_reg_sfi/nc_jumps.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2012 The Native Client Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_REG_SFI_NC_JUMPS_H__
-#define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_REG_SFI_NC_JUMPS_H__
-
-/*
- * nc_jumps.h - Implements set of possible jump points, and set of
- * actual jump points, and the verification that the possible
- * (explicit) jumps only apply to valid actual jumps.
- */
-
-#include <stdio.h>
-
-#include "native_client/src/shared/utils/types.h"
-#include "native_client/src/trusted/validator/x86/ncval_reg_sfi/address_sets.h"
-
-/* The model of a validator state. */
-struct NaClValidatorState;
-
-/* The model of an iterator through instructions in a code segment. */
-struct NaClInstIter;
-
-/* The model of a parsed instruction. */
-struct NaClInstState;
-
-/* Holds information collected about each instruction, and the
- * targets of possible jumps. Then, after the code has been processed,
- * this information is processed to see if there are any invalid jumps.
- */
-typedef struct NaClJumpSets {
- /* Holds the set of possible target addresses that can be the result of
- * a jump.
- */
- NaClAddressSet actual_targets;
- /* Holds the set of valid instruction entry points (whenever a pattern of
- * multiple instructions are used, the sequence will be treated as atomic,
- * only having the first address in the set).
- */
- NaClAddressSet possible_targets;
- /* Removed targets, due to instruction being in the middle of an atomic
- * sequence. Note: This is needed so that we can allow validators to
- * run in any order. If we didn't do this, then we are very timing dependent
- * on calls to NaClMarkInstructionJumpIllegal, which must appear after
- * the call to NaClJumpValidator.
- */
- NaClAddressSet removed_targets;
- /* Holds the (array) size of each set above. */
- size_t set_array_size;
-} NaClJumpSets;
-
-/* When true, changes the behaviour of NcAddJump to use mask 0xFF for
- * indirect jumps (which is a nop). This allows performance tests for
- * compiled libraries without having to hand tweak the source code.
- */
-extern Bool NACL_FLAGS_identity_mask;
-
-/* Initializes jump sets to track the set of possible and actual (explicit)
- * address. Returns true if successful.
- */
-Bool NaClJumpValidatorInitialize(struct NaClValidatorState* state);
-
-/* Collects information on instruction addresses, and where explicit jumps
- * go to.
- */
-void NaClJumpValidator(struct NaClValidatorState* state);
-
-/* Don't record anything but the instruction address, in order to validate
- * basic block alignment at the end of validation.
- */
-void NaClJumpValidatorRememberIpOnly(struct NaClValidatorState* state);
-
-/* Compares the collected actual jumps and the set of possible jump points,
- * and reports any descrepancies that don't follow NACL rules.
- */
-void NaClJumpValidatorSummarize(struct NaClValidatorState* state);
-
-/* Cleans up memory used by the jump validator. */
-void NaClJumpValidatorCleanUp(struct NaClValidatorState* state);
-
-/* Record that the given instruction can't be a possible target of a jump,
- * because it appears as the non-first
- * instruciton in a NACL pattern. This should be called on all such non-first
- * instructions (for NACL patterns) so that the instuction sequence is
- * checked to be atomic.
- */
-void NaClMarkInstructionJumpIllegal(struct NaClValidatorState* state,
- struct NaClInstState* inst);
-
-/* Records that the given sequence of distance instructions (starting with the
- * current instruction, and proceeding backwards) can't be a possible target
- * of a jump, because they appear as the non-first instruction of a NACL
- * pattern.
- */
-void NaClMarkInstructionsJumpRangeIllegal(struct NaClValidatorState* vstate,
- int distance);
-
-/* Same as NaClMarkInstructionJumpIllegal, except that it marks the
- * n-th instruction back from the current instruction.
- */
-void NaClMarkInstructionJumpIllegalLookback(
- struct NaClInstIter* iter,
- struct NaClValidatorState* state,
- size_t n);
-
-#endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_REG_SFI_NC_JUMPS_H__ */
« no previous file with comments | « src/trusted/validator/x86/ncval_reg_sfi/nc_illegal.c ('k') | src/trusted/validator/x86/ncval_reg_sfi/nc_jumps.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698