always define SETUP_FRAME_ADDRESSES

gcc/ChangeLog:

2015-10-10  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
	* builtins.c (expand_builtin_return_addr): Adjust.
	* doc/tm.texi: Likewise.
	* doc/tm.texi.in: Likewise.
	* except.c (expand_builtin_unwind_init): Likewise.

From-SVN: r228686
This commit is contained in:
Trevor Saunders 2015-10-11 00:48:02 +00:00 committed by Trevor Saunders
parent 579f294624
commit baf37960f6
6 changed files with 16 additions and 11 deletions

View File

@ -1,3 +1,11 @@
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
* builtins.c (expand_builtin_return_addr): Adjust.
* doc/tm.texi: Likewise.
* doc/tm.texi.in: Likewise.
* except.c (expand_builtin_unwind_init): Likewise.
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* builtins.c (expand_builtin_return_addr): Adjust.

View File

@ -784,13 +784,8 @@ expand_builtin_return_addr (enum built_in_function fndecl_code, int count)
}
}
/* Some machines need special handling before we can access
arbitrary frames. For example, on the SPARC, we must first flush
all register windows to the stack. */
#ifdef SETUP_FRAME_ADDRESSES
if (count > 0)
SETUP_FRAME_ADDRESSES ();
#endif
/* On the SPARC, the return address is not in the frame, it is in a
register. There is no way to access it off of the current frame

View File

@ -1281,6 +1281,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define INITIAL_FRAME_ADDRESS_RTX NULL
#endif
#ifndef SETUP_FRAME_ADDRESSES
#define SETUP_FRAME_ADDRESSES() do { } while (0)
#endif
#ifdef GCC_INSN_FLAGS_H
/* Dependent default target macro definitions

View File

@ -3020,11 +3020,11 @@ address of the stack word that points to the previous frame.
@end defmac
@defmac SETUP_FRAME_ADDRESSES
If defined, a C expression that produces the machine-specific code to
A C expression that produces the machine-specific code to
setup the stack so that arbitrary frames can be accessed. For example,
on the SPARC, we must flush all of the register windows to the stack
before we can access arbitrary stack frames. You will seldom need to
define this macro.
define this macro. The default is to do nothing.
@end defmac
@deftypefn {Target Hook} rtx TARGET_BUILTIN_SETJMP_FRAME_VALUE (void)

View File

@ -2626,11 +2626,11 @@ address of the stack word that points to the previous frame.
@end defmac
@defmac SETUP_FRAME_ADDRESSES
If defined, a C expression that produces the machine-specific code to
A C expression that produces the machine-specific code to
setup the stack so that arbitrary frames can be accessed. For example,
on the SPARC, we must flush all of the register windows to the stack
before we can access arbitrary stack frames. You will seldom need to
define this macro.
define this macro. The default is to do nothing.
@end defmac
@hook TARGET_BUILTIN_SETJMP_FRAME_VALUE

View File

@ -2120,9 +2120,7 @@ expand_builtin_unwind_init (void)
able to copy the saved values for any registers from frames we unwind. */
crtl->saves_all_registers = 1;
#ifdef SETUP_FRAME_ADDRESSES
SETUP_FRAME_ADDRESSES ();
#endif
}
/* Map a non-negative number to an eh return data register number; expands