diff options
author | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2020-11-13 15:36:01 +0000 |
---|---|---|
committer | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2020-11-13 15:36:30 +0000 |
commit | a514934a0565255276adaa4fbd4aa35579ec33c6 (patch) | |
tree | c3a97a9df4bcb322ba4e7575ce5cac55a443cbc3 /gcc | |
parent | 54896b10dbe1d4ac90f097d566b7aa14807cec08 (diff) | |
download | gcc-a514934a0565255276adaa4fbd4aa35579ec33c6.zip gcc-a514934a0565255276adaa4fbd4aa35579ec33c6.tar.gz gcc-a514934a0565255276adaa4fbd4aa35579ec33c6.tar.bz2 |
MSP430: Skip index-1.c test
To access the "n - 100000"th element of "a" in this test, GCC will
generate the following code for msp430-elf with -mcpu=msp430x:
RLAM.W #1, R12
MOV.W a-3392(R12), R12
Since there aren't actually 100,000 elements in a, this means that
"a-3392" offset calculated by the linker can overflow, as the address of
"a" can validly be less than 3392.
The relocations used for -mcpu=msp430 and -mlarge are not as strict and
the calculated value is allowed to wrap around the address space,
avoiding relocation overflows.
gcc/testsuite/ChangeLog:
* gcc.c-torture/execute/index-1.c: Skip for the default MSP430 430X ISA.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/index-1.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/index-1.c b/gcc/testsuite/gcc.c-torture/execute/index-1.c index b00090d..d96be4c 100644 --- a/gcc/testsuite/gcc.c-torture/execute/index-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/index-1.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "strict reloc overflow checking" { msp430-*-* } { "*" } { "-mcpu=msp430" "-mlarge"} } */ + int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, |