diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2017-08-02 13:19:58 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2017-08-02 13:19:58 +0200 |
commit | 829c98a06971706543d2d5d665e4636c9eb78534 (patch) | |
tree | a1c22c32b136037f9e91245573c2d32cbdd9a629 | |
parent | 5c22bb4836c535c027a94e22dbfa33d406ae7c89 (diff) | |
download | gcc-829c98a06971706543d2d5d665e4636c9eb78534.zip gcc-829c98a06971706543d2d5d665e4636c9eb78534.tar.gz gcc-829c98a06971706543d2d5d665e4636c9eb78534.tar.bz2 |
pr25967-1.c: Delete
* gcc.dg/guality/pr25967-1.c: Delete
* gcc.dg/guality/pr25967-2.c: Delete
* gcc.dg/guality/pr25967-3.c: Rename to pr25967-1.c.
* gcc.dg/guality/pr25967-4.c: Rename to pr25967-2.c.
* gcc.dg/torture/pr25967-1.c: Delete
* gcc.dg/torture/pr25967-2.c: Delete
* gcc.dg/torture/pr25967-3.c: Rename to pr25967-1.c.
* gcc.dg/torture/pr25967-4.c: Rename to pr25967-2.c.
From-SVN: r250820
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/guality/pr25967-1.c | 28 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/guality/pr25967-2.c | 22 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/guality/pr25967-3.c | 70 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/guality/pr25967-4.c | 64 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr25967-1.c | 18 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr25967-2.c | 14 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr25967-3.c | 63 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr25967-4.c | 58 |
9 files changed, 23 insertions, 321 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 142e4de..1910d03 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -13,13 +13,6 @@ 2017-08-01 H.J. Lu <hongjiu.lu@intel.com> - * gcc.dg/guality/pr25967-3.c: New test. - * gcc.dg/guality/pr25967-4.c: Likewise. - * gcc.dg/torture/pr25967-3.c: Likewise. - * gcc.dg/torture/pr25967-4.c: Likewise. - -2017-08-01 H.J. Lu <hongjiu.lu@intel.com> - * gcc.dg/guality/pr25967-1.c: New test. * gcc.dg/guality/pr25967-2.c: Likewise. * gcc.dg/torture/pr25967-1.c: Likewise. diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-1.c b/gcc/testsuite/gcc.dg/guality/pr25967-1.c index 01d97fe..0924d1c 100644 --- a/gcc/testsuite/gcc.dg/guality/pr25967-1.c +++ b/gcc/testsuite/gcc.dg/guality/pr25967-1.c @@ -12,14 +12,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -38,11 +30,9 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - uword_t error; - asm volatile ("lea " WORD_SIZE "(%%" STACK_POINTER "), %0\n\t" - "mov (%%" STACK_POINTER "), %1" - : "=r" (frame), "=r" (error) :); + register uword_t *sp __asm__("sp"); + uword_t error = *sp; + struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); if (ERROR != error) /* BREAK */ __builtin_abort (); if (IP != frame->ip) @@ -72,9 +62,9 @@ main () return 0; } -/* { dg-final { gdb-test 46 "error" "0x12345670" } } */ -/* { dg-final { gdb-test 46 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 46 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 46 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 46 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 46 "frame->ss" "0x12345675" } } */ +/* { dg-final { gdb-test 36 "error" "0x12345670" } } */ +/* { dg-final { gdb-test 36 "frame->ip" "0x12345671" } } */ +/* { dg-final { gdb-test 36 "frame->cs" "0x12345672" } } */ +/* { dg-final { gdb-test 36 "frame->flags" "0x12345673" } } */ +/* { dg-final { gdb-test 36 "frame->sp" "0x12345674" } } */ +/* { dg-final { gdb-test 36 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-2.c b/gcc/testsuite/gcc.dg/guality/pr25967-2.c index a8bdf9f..c3b59e2 100644 --- a/gcc/testsuite/gcc.dg/guality/pr25967-2.c +++ b/gcc/testsuite/gcc.dg/guality/pr25967-2.c @@ -11,14 +11,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -37,8 +29,8 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - asm volatile ("lea (%%" STACK_POINTER "), %0" : "=r" (frame) : ); + register uword_t *sp __asm__("sp"); + struct interrupt_frame *frame = (struct interrupt_frame *) sp; if (IP != frame->ip) /* BREAK */ __builtin_abort (); if (CS != frame->cs) @@ -65,8 +57,8 @@ main () return 0; } -/* { dg-final { gdb-test 42 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 42 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 42 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 42 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 42 "frame->ss" "0x12345675" } } */ +/* { dg-final { gdb-test 34 "frame->ip" "0x12345671" } } */ +/* { dg-final { gdb-test 34 "frame->cs" "0x12345672" } } */ +/* { dg-final { gdb-test 34 "frame->flags" "0x12345673" } } */ +/* { dg-final { gdb-test 34 "frame->sp" "0x12345674" } } */ +/* { dg-final { gdb-test 34 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-3.c b/gcc/testsuite/gcc.dg/guality/pr25967-3.c deleted file mode 100644 index 0924d1c..0000000 --- a/gcc/testsuite/gcc.dg/guality/pr25967-3.c +++ /dev/null @@ -1,70 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-g -mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define ERROR 0x12345670 -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - uword_t error = *sp; - struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); - if (ERROR != error) /* BREAK */ - __builtin_abort (); - if (IP != frame->ip) - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - push $" STRING (ERROR) "; \ - jmp " ASMNAME ("fn")); - return 0; -} - -/* { dg-final { gdb-test 36 "error" "0x12345670" } } */ -/* { dg-final { gdb-test 36 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 36 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 36 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 36 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 36 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/guality/pr25967-4.c b/gcc/testsuite/gcc.dg/guality/pr25967-4.c deleted file mode 100644 index c3b59e2..0000000 --- a/gcc/testsuite/gcc.dg/guality/pr25967-4.c +++ /dev/null @@ -1,64 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-g -mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - struct interrupt_frame *frame = (struct interrupt_frame *) sp; - if (IP != frame->ip) /* BREAK */ - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - jmp " ASMNAME ("fn")); - return 0; -} - -/* { dg-final { gdb-test 34 "frame->ip" "0x12345671" } } */ -/* { dg-final { gdb-test 34 "frame->cs" "0x12345672" } } */ -/* { dg-final { gdb-test 34 "frame->flags" "0x12345673" } } */ -/* { dg-final { gdb-test 34 "frame->sp" "0x12345674" } } */ -/* { dg-final { gdb-test 34 "frame->ss" "0x12345675" } } */ diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-1.c b/gcc/testsuite/gcc.dg/torture/pr25967-1.c index c504363..fd26a8b 100644 --- a/gcc/testsuite/gcc.dg/torture/pr25967-1.c +++ b/gcc/testsuite/gcc.dg/torture/pr25967-1.c @@ -12,14 +12,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -38,12 +30,10 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - uword_t error; - asm volatile ("lea " WORD_SIZE "(%%" STACK_POINTER "), %0\n\t" - "mov (%%" STACK_POINTER "), %1" - : "=r" (frame), "=r" (error) :); - if (ERROR != error) + register uword_t *sp __asm__("sp"); + uword_t error = *sp; + struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); + if (ERROR != error) /* BREAK */ __builtin_abort (); if (IP != frame->ip) __builtin_abort (); diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-2.c b/gcc/testsuite/gcc.dg/torture/pr25967-2.c index 3e27dd5..4a0dd78 100644 --- a/gcc/testsuite/gcc.dg/torture/pr25967-2.c +++ b/gcc/testsuite/gcc.dg/torture/pr25967-2.c @@ -11,14 +11,6 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__))); #define SP 0x12345674 #define SS 0x12345675 -#ifdef __x86_64__ -# define STACK_POINTER "rsp" -# define WORD_SIZE "8" -#else -# define STACK_POINTER "esp" -# define WORD_SIZE "4" -#endif - #define STRING(x) XSTRING(x) #define XSTRING(x) #x #define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) @@ -37,9 +29,9 @@ __attribute__((naked, used)) void fn (void) { - struct interrupt_frame *frame; - asm volatile ("lea (%%" STACK_POINTER "), %0" : "=r" (frame) : ); - if (IP != frame->ip) + register uword_t *sp __asm__("sp"); + struct interrupt_frame *frame = (struct interrupt_frame *) sp; + if (IP != frame->ip) /* BREAK */ __builtin_abort (); if (CS != frame->cs) __builtin_abort (); diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-3.c b/gcc/testsuite/gcc.dg/torture/pr25967-3.c deleted file mode 100644 index fd26a8b..0000000 --- a/gcc/testsuite/gcc.dg/torture/pr25967-3.c +++ /dev/null @@ -1,63 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define ERROR 0x12345670 -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - uword_t error = *sp; - struct interrupt_frame *frame = (struct interrupt_frame *) (sp + 1); - if (ERROR != error) /* BREAK */ - __builtin_abort (); - if (IP != frame->ip) - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - push $" STRING (ERROR) "; \ - jmp " ASMNAME ("fn")); - return 0; -} diff --git a/gcc/testsuite/gcc.dg/torture/pr25967-4.c b/gcc/testsuite/gcc.dg/torture/pr25967-4.c deleted file mode 100644 index 4a0dd78..0000000 --- a/gcc/testsuite/gcc.dg/torture/pr25967-4.c +++ /dev/null @@ -1,58 +0,0 @@ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-mgeneral-regs-only" } */ - -extern void exit (int); - -typedef unsigned int uword_t __attribute__ ((mode (__word__))); - -#define IP 0x12345671 -#define CS 0x12345672 -#define FLAGS 0x12345673 -#define SP 0x12345674 -#define SS 0x12345675 - -#define STRING(x) XSTRING(x) -#define XSTRING(x) #x -#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) -#define ASMNAME2(prefix, cname) XSTRING (prefix) cname - -struct interrupt_frame -{ - uword_t ip; - uword_t cs; - uword_t flags; - uword_t sp; - uword_t ss; -}; - -__attribute__((naked, used)) -void -fn (void) -{ - register uword_t *sp __asm__("sp"); - struct interrupt_frame *frame = (struct interrupt_frame *) sp; - if (IP != frame->ip) /* BREAK */ - __builtin_abort (); - if (CS != frame->cs) - __builtin_abort (); - if (FLAGS != frame->flags) - __builtin_abort (); - if (SP != frame->sp) - __builtin_abort (); - if (SS != frame->ss) - __builtin_abort (); - - exit (0); -} - -int -main () -{ - asm ("push $" STRING (SS) "; \ - push $" STRING (SP) "; \ - push $" STRING (FLAGS) "; \ - push $" STRING (CS) "; \ - push $" STRING (IP) "; \ - jmp " ASMNAME ("fn")); - return 0; -} |