diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-16 14:52:28 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-16 14:52:28 +0200 |
commit | d15d61c671cb02b6dce9d583962750875e3178e9 (patch) | |
tree | 30c6a373132e5d4e1de4bb03bdf7beda67d1d2a3 /gcc/ada/tracebak.c | |
parent | 0a0a18c30fbacdade52fa538575ff4889e145275 (diff) | |
download | gcc-d15d61c671cb02b6dce9d583962750875e3178e9.zip gcc-d15d61c671cb02b6dce9d583962750875e3178e9.tar.gz gcc-d15d61c671cb02b6dce9d583962750875e3178e9.tar.bz2 |
[multiple changes]
2009-04-16 Tristan Gingold <gingold@adacore.com>
* init.c: Detect real stack overflow on Darwin.
* system-darwin-x86.ads: Use stack probing on darwin x86.
2009-04-16 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
take the address of an intrinsic subprogram.
2009-04-16 Vincent Celier <celier@adacore.com>
* g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
* g-trasym.ads: Update comments.
2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
* tracebak.c (STOP_FRAME): Verify validity of the current address
before dereferencing.
From-SVN: r146182
Diffstat (limited to 'gcc/ada/tracebak.c')
-rw-r--r-- | gcc/ada/tracebak.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c index 8a69057..8f3c4cc 100644 --- a/gcc/ada/tracebak.c +++ b/gcc/ada/tracebak.c @@ -317,7 +317,8 @@ struct layout #define FRAME_OFFSET(FP) 0 #define PC_ADJUST -2 #define STOP_FRAME(CURRENT, TOP_STACK) \ - (IS_BAD_PTR((long)(CURRENT)->return_address) \ + (IS_BAD_PTR((long)(CURRENT)) \ + || IS_BAD_PTR((long)(CURRENT)->return_address) \ || (CURRENT)->return_address == 0|| (CURRENT)->next == 0 \ || (void *) (CURRENT) < (TOP_STACK)) |