From c897f34a637fc38137eaf56f3d785ea4fce7a3bd Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 6 Nov 2014 18:16:48 -0800 Subject: Don't access memory outside of the binary's range --- isa/rv32ui/amoadd_w.S | 1 + isa/rv32ui/amoand_w.S | 1 + isa/rv32ui/amomax_w.S | 1 + isa/rv32ui/amomaxu_w.S | 1 + isa/rv32ui/amomin_w.S | 1 + isa/rv32ui/amominu_w.S | 1 + isa/rv32ui/amoor_w.S | 1 + isa/rv32ui/amoswap_w.S | 1 + isa/rv64ui/amoadd_d.S | 3 ++- isa/rv64ui/amoadd_w.S | 1 + isa/rv64ui/amoand_d.S | 1 + isa/rv64ui/amoand_w.S | 1 + isa/rv64ui/amomax_d.S | 1 + isa/rv64ui/amomax_w.S | 1 + isa/rv64ui/amomaxu_d.S | 1 + isa/rv64ui/amomaxu_w.S | 1 + isa/rv64ui/amomin_d.S | 1 + isa/rv64ui/amomin_w.S | 1 + isa/rv64ui/amominu_d.S | 1 + isa/rv64ui/amominu_w.S | 1 + isa/rv64ui/amoor_d.S | 1 + isa/rv64ui/amoor_w.S | 1 + isa/rv64ui/amoswap_d.S | 1 + isa/rv64ui/amoswap_w.S | 1 + isa/rv64ui/amoxor_d.S | 1 + isa/rv64ui/amoxor_w.S | 1 + 26 files changed, 27 insertions(+), 1 deletion(-) diff --git a/isa/rv32ui/amoadd_w.S b/isa/rv32ui/amoadd_w.S index 5f331c5..30d3f79 100644 --- a/isa/rv32ui/amoadd_w.S +++ b/isa/rv32ui/amoadd_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv32ui/amoand_w.S b/isa/rv32ui/amoand_w.S index 37cb46a..3204f1c 100644 --- a/isa/rv32ui/amoand_w.S +++ b/isa/rv32ui/amoand_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv32ui/amomax_w.S b/isa/rv32ui/amomax_w.S index d71baa0..a7fc95a 100644 --- a/isa/rv32ui/amomax_w.S +++ b/isa/rv32ui/amomax_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv32ui/amomaxu_w.S b/isa/rv32ui/amomaxu_w.S index 8295b73..ca8045d 100644 --- a/isa/rv32ui/amomaxu_w.S +++ b/isa/rv32ui/amomaxu_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv32ui/amomin_w.S b/isa/rv32ui/amomin_w.S index 40fd769..3cbf08c 100644 --- a/isa/rv32ui/amomin_w.S +++ b/isa/rv32ui/amomin_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv32ui/amominu_w.S b/isa/rv32ui/amominu_w.S index 1f8abb1..3809d1c 100644 --- a/isa/rv32ui/amominu_w.S +++ b/isa/rv32ui/amominu_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv32ui/amoor_w.S b/isa/rv32ui/amoor_w.S index ece7a91..6df4da4 100644 --- a/isa/rv32ui/amoor_w.S +++ b/isa/rv32ui/amoor_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv32ui/amoswap_w.S b/isa/rv32ui/amoswap_w.S index 118c92d..bf034d1 100644 --- a/isa/rv32ui/amoswap_w.S +++ b/isa/rv32ui/amoswap_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoadd_d.S b/isa/rv64ui/amoadd_d.S index 92b7bb6..21d534c 100644 --- a/isa/rv64ui/amoadd_d.S +++ b/isa/rv64ui/amoadd_d.S @@ -58,4 +58,5 @@ RVTEST_DATA_END .bss .align 3 amo_operand: - .dword 0 \ No newline at end of file + .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoadd_w.S b/isa/rv64ui/amoadd_w.S index b46628b..4c71ac8 100644 --- a/isa/rv64ui/amoadd_w.S +++ b/isa/rv64ui/amoadd_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoand_d.S b/isa/rv64ui/amoand_d.S index ad0d3d2..0c4985c 100644 --- a/isa/rv64ui/amoand_d.S +++ b/isa/rv64ui/amoand_d.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoand_w.S b/isa/rv64ui/amoand_w.S index f141d02..0433860 100644 --- a/isa/rv64ui/amoand_w.S +++ b/isa/rv64ui/amoand_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amomax_d.S b/isa/rv64ui/amomax_d.S index 1d1a7cb..a0dc2aa 100644 --- a/isa/rv64ui/amomax_d.S +++ b/isa/rv64ui/amomax_d.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amomax_w.S b/isa/rv64ui/amomax_w.S index c91f5b3..0fe3352 100644 --- a/isa/rv64ui/amomax_w.S +++ b/isa/rv64ui/amomax_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amomaxu_d.S b/isa/rv64ui/amomaxu_d.S index 7bd8ba2..9dc13e4 100644 --- a/isa/rv64ui/amomaxu_d.S +++ b/isa/rv64ui/amomaxu_d.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amomaxu_w.S b/isa/rv64ui/amomaxu_w.S index 6ff2213..8e774b6 100644 --- a/isa/rv64ui/amomaxu_w.S +++ b/isa/rv64ui/amomaxu_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amomin_d.S b/isa/rv64ui/amomin_d.S index 99ca009..168ae3c 100644 --- a/isa/rv64ui/amomin_d.S +++ b/isa/rv64ui/amomin_d.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amomin_w.S b/isa/rv64ui/amomin_w.S index 1c68f11..e6822d8 100644 --- a/isa/rv64ui/amomin_w.S +++ b/isa/rv64ui/amomin_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amominu_d.S b/isa/rv64ui/amominu_d.S index b1e7e3e..9572d95 100644 --- a/isa/rv64ui/amominu_d.S +++ b/isa/rv64ui/amominu_d.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amominu_w.S b/isa/rv64ui/amominu_w.S index b23049f..cf2f516 100644 --- a/isa/rv64ui/amominu_w.S +++ b/isa/rv64ui/amominu_w.S @@ -44,3 +44,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoor_d.S b/isa/rv64ui/amoor_d.S index 31cf612..ce1a843 100644 --- a/isa/rv64ui/amoor_d.S +++ b/isa/rv64ui/amoor_d.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoor_w.S b/isa/rv64ui/amoor_w.S index 8902c17..784aee7 100644 --- a/isa/rv64ui/amoor_w.S +++ b/isa/rv64ui/amoor_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoswap_d.S b/isa/rv64ui/amoswap_d.S index cd8d269..b78e653 100644 --- a/isa/rv64ui/amoswap_d.S +++ b/isa/rv64ui/amoswap_d.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoswap_w.S b/isa/rv64ui/amoswap_w.S index 6e4d77b..174676b 100644 --- a/isa/rv64ui/amoswap_w.S +++ b/isa/rv64ui/amoswap_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoxor_d.S b/isa/rv64ui/amoxor_d.S index 9c31b70..81ebe00 100644 --- a/isa/rv64ui/amoxor_d.S +++ b/isa/rv64ui/amoxor_d.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 diff --git a/isa/rv64ui/amoxor_w.S b/isa/rv64ui/amoxor_w.S index d199047..79579d2 100644 --- a/isa/rv64ui/amoxor_w.S +++ b/isa/rv64ui/amoxor_w.S @@ -60,3 +60,4 @@ RVTEST_DATA_END .align 3 amo_operand: .dword 0 + .skip 65536 -- cgit v1.1