[THUMB2] Frame pointer for arm with THUMB2 mode. 52/188052/2 accepted/tizen/base/20181102.125713 submit/tizen_base/20181018.065945 submit/tizen_base/20181101.054916
authorDenis Khalikov <d.khalikov@partner.samsung.com>
Thu, 30 Aug 2018 15:57:41 +0000 (18:57 +0300)
committerVyacheslav Barinov <v.barinov@samsung.com>
Mon, 8 Oct 2018 13:48:20 +0000 (13:48 +0000)
commit95507ab4cfedfa2ce3f21ebc660f689f30ae3908
tree47a88740e9e344a925bc24131835534fa71cd6f1
parenta555a99d8dd9cb7726e9ddbf1eb1ec3ee79192de
[THUMB2] Frame pointer for arm with THUMB2 mode.

Set frame pointer to the predictable location in the stack frame
for arm with THUMB2 mode.

Denis Khalikov  <d.khalikov@partner.samsung.com>

  * config/arm/arm.c (arm_emit_multi_reg_pop_no_return): New function.
  (arm_compute_initial_elimination_offset): Add support for
  TARGET_THUMB_STACK_UNWIND.
  (arm_expand_prologue): Emit function prologue related to
  TARGET_THUMB_STACK_UNWIND.
  (thumb2_expand_return): Emit function epilogue related to
  TARGET_THUMB_STACK_UNWIND.
  (arm_expand_epilogue): Emit function epilogue related to
  TARGET_THUMB_STACK_UNWIND.
  * config/arm/arm.h (TARGET_THUMB_STACK_UNWIND): New define.
  (INITIAL_ELIMINATION_OFFSET): Add support for
  TARGET_THUMB_STACK_UNWIND.
  * config/arm/arm.opt: Add compile-time option THUMB_FP.
  * gcc/testsuite/c-c++-common/asan/fast-unwind-thumb.c: New tests.

Change-Id: I45a68a1216f3115c5199e5cea14c344fabe11fc1
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/arm.opt
gcc/testsuite/c-c++-common/asan/fast-unwind-thumb.c [new file with mode: 0644]