aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2015-04-22 00:44:48 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2015-04-22 00:44:48 +0000
commitcbc7d031c4a563565f3351b36fbcb323567627fc (patch)
tree379b5a5e75dc345ed87052fa3188c5f26796e3c2 /gcc
parenta8a6b3dfd3ec2794a21f34169678a48ed8ecae61 (diff)
downloadgcc-cbc7d031c4a563565f3351b36fbcb323567627fc.zip
gcc-cbc7d031c4a563565f3351b36fbcb323567627fc.tar.gz
gcc-cbc7d031c4a563565f3351b36fbcb323567627fc.tar.bz2
provide default for MASK_RETURN_ADDR
gcc/ChangeLog: 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * defaults.h (MASK_RETURN_ADDR): New definition. * except.c (expand_builtin_extract_return_addr): Remove ifdef MASK_RETURN_ADDR. From-SVN: r222299
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/defaults.h4
-rw-r--r--gcc/except.c6
3 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dc46aa9..acb026b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+ * defaults.h (MASK_RETURN_ADDR): New definition.
+ * except.c (expand_builtin_extract_return_addr): Remove ifdef
+ MASK_RETURN_ADDR.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
* defaults.h (RETURN_ADDR_OFFSET): New definition.
* except.c (expand_builtin_extract_return_addr): Remove ifdef
RETURN_ADDR_OFFSET.
diff --git a/gcc/defaults.h b/gcc/defaults.h
index 767901a..843d7e2 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -388,6 +388,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define RETURN_ADDR_OFFSET 0
#endif
+#ifndef MASK_RETURN_ADDR
+#define MASK_RETURN_ADDR NULL_RTX
+#endif
+
/* If we have named section and we support weak symbols, then use the
.jcr section for recording java classes which need to be registered
at program start-up time. */
diff --git a/gcc/except.c b/gcc/except.c
index 750deb5..7e6591b 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -2185,9 +2185,9 @@ expand_builtin_extract_return_addr (tree addr_tree)
}
/* First mask out any unwanted bits. */
-#ifdef MASK_RETURN_ADDR
- expand_and (Pmode, addr, MASK_RETURN_ADDR, addr);
-#endif
+ rtx mask = MASK_RETURN_ADDR;
+ if (mask)
+ expand_and (Pmode, addr, mask, addr);
/* Then adjust to find the real return address. */
if (RETURN_ADDR_OFFSET)