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:
parent
579f294624
commit
baf37960f6
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user