main routine (because it can never return) -> attempt to guard against
invalid accesses in get_caller_addr
git-svn-id: trunk@44066 -
(cherry picked from commit d9f4c85d2e)
U rtl/inc/cgeneric.inc
--- Recording mergeinfo for merge of r43121 into '.':
U .
--- Merging r47123 into '.':
U rtl/aarch64/math.inc
--- Recording mergeinfo for merge of r47123 into '.':
G .
# revisions: 43121,47123
r43121 | svenbarth | 2019-10-05 11:42:55 +0200 (Sat, 05 Oct 2019) | 1 line
Changed paths:
M /trunk/rtl/inc/cgeneric.inc
* use clib constant instead of literal 'c' in case we have a target where the library is not called 'c' (hopefully all targets that use cgeneric.inc have the clib constant declared in their sysos.inc)
r47123 | svenbarth | 2020-10-18 10:52:41 +0200 (Sun, 18 Oct 2020) | 1 line
Changed paths:
M /trunk/rtl/aarch64/math.inc
* for Aarch64 inline assembly comments need to start with //
git-svn-id: branches/fixes_3_2@47916 -
U rtl/aarch64/mathu.inc
--- Recording mergeinfo for merge of r46880 into '.':
U .
--- Merging r40512 into '.':
A tests/webtbs/tw33607.pp
--- Recording mergeinfo for merge of r40512 into '.':
G .
--- Merging r42961 into '.':
U compiler/aarch64/aasmcpu.pas
--- Recording mergeinfo for merge of r42961 into '.':
G .
--- Merging r44932 into '.':
G compiler/aarch64/aasmcpu.pas
--- Recording mergeinfo for merge of r44932 into '.':
G .
--- Merging r44933 into '.':
U compiler/aarch64/racpugas.pas
--- Recording mergeinfo for merge of r44933 into '.':
G .
--- Merging r44998 into '.':
U compiler/aarch64/racpu.pas
--- Recording mergeinfo for merge of r44998 into '.':
G .
--- Merging r45667 into '.':
G compiler/aarch64/racpugas.pas
U compiler/rautils.pas
A tests/webtbs/tw37218.pp
--- Recording mergeinfo for merge of r45667 into '.':
G .
--- Merging r45814 into '.':
U compiler/aarch64/rgcpu.pas
A tests/webtbs/tw37393.pp
--- Recording mergeinfo for merge of r45814 into '.':
G .
--- Merging r46690 into '.':
G compiler/aarch64/aasmcpu.pas
--- Recording mergeinfo for merge of r46690 into '.':
G .
--- Merging r46871 into '.':
U compiler/aarch64/cgcpu.pas
--- Recording mergeinfo for merge of r46871 into '.':
G .
git-svn-id: branches/fixes_3_2@47756 -
U .
--- Recording mergeinfo for merge of r42891 into '.':
U .
--- Merging r43167 into '.':
U compiler/aarch64/cgcpu.pas
U rtl/aarch64/aarch64.inc
--- Recording mergeinfo for merge of r43167 into '.':
U .
--- Recording mergeinfo for merge of r45788 into '.':
G .
--- Merging r46870 into '.':
U rtl/linux/aarch64/sighnd.inc
U rtl/linux/aarch64/sighndh.inc
--- Recording mergeinfo for merge of r46870 into '.':
G .
--- Merging r46872 into '.':
G rtl/linux/aarch64/sighnd.inc
--- Recording mergeinfo for merge of r46872 into '.':
G .
--- Merging r46913 into '.':
U compiler/systems/t_linux.pas
--- Recording mergeinfo for merge of r46913 into '.':
G .
git-svn-id: branches/fixes_3_2@47037 -
checks for fpu exceptions for arm and aarch64.
------------------------------------------------------------------------
r42525 | florian | 2019-07-28 21:06:36 +0000 (Sun, 28 Jul 2019) | 2 lines
+ software handling of exceptions on arm
* reworked software handling of exceptions so they can be check lazily
------------------------------------------------------------------------
--- Merging r42525 into '.':
U compiler/arm/cgcpu.pas
U compiler/arm/narmadd.pas
U compiler/arm/narminl.pas
U compiler/arm/narmmat.pas
U compiler/ncgcal.pas
U compiler/procinfo.pas
U rtl/arm/arm.inc
--- Recording mergeinfo for merge of r42525 into '.':
U .
Summary of conflicts:
Tree conflicts: 1
------------------------------------------------------------------------
r42891 | florian | 2019-09-01 17:26:11 +0000 (Sun, 01 Sep 2019) | 1 line
+ support for software floating point exception handling on AArch64 (-CE)
------------------------------------------------------------------------
--- Merging r42891 into '.':
U compiler/aarch64/cgcpu.pas
U compiler/aarch64/ncpuadd.pas
U compiler/aarch64/ncpuinl.pas
U compiler/aarch64/ncpumat.pas
U rtl/aarch64/aarch64.inc
U rtl/aarch64/math.inc
U rtl/aarch64/mathu.inc
--- Recording mergeinfo for merge of r42891 into '.':
G .
git-svn-id: branches/fixes_3_2@46225 -
instead of the frame pointer register:
1) we exactly know the offsets of the temps from the stack pointer
after pass 1 (based on the require parameter stack size for called
routines), while we don't know it for the frame pointer (it depends
on the number of saved registers)
2) temp offsets from the stack pointer are positive while those from
the frame pointer are negative, and we can directly encode much
bigger positive offsets in the instructions
o move the stack pointer register to a virtual register in
loadparentfpn, because many instructions cannot directly operate
on/with the stack pointer
o add the necessary register interference edges for the stack pointer
register
git-svn-id: trunk@29938 -