florian
f66d7d431f
* ensure that the label points inside the range where the raise is located for psabieh
...
git-svn-id: branches/debug_eh@41384 -
2019-02-19 22:19:30 +00:00
florian
b1cc02e417
* reraise has to reset the ref. count to 0
...
git-svn-id: branches/debug_eh@41383 -
2019-02-19 22:17:27 +00:00
florian
a8c8cc1890
* create proper cfi, when registers are pushed
...
git-svn-id: branches/debug_eh@41382 -
2019-02-19 22:16:39 +00:00
florian
38be96e586
* allow pointer+ord. const always if the node is created internally
...
git-svn-id: branches/debug_eh@41381 -
2019-02-19 22:16:05 +00:00
florian
9e67e7311a
* change the exception address is only useful if a valid frame is passed
...
git-svn-id: branches/debug_eh@41377 -
2019-02-18 22:04:08 +00:00
florian
a24d75ed3d
+ comment explaining previous change
...
git-svn-id: branches/debug_eh@41376 -
2019-02-18 22:03:29 +00:00
florian
502febc968
* resume needs to be surrounded by an empty landing pad
...
git-svn-id: branches/debug_eh@41375 -
2019-02-18 21:46:55 +00:00
florian
0e25d6f00d
* better debug messages
...
+ initial approach to handle addr and frame
git-svn-id: branches/debug_eh@41368 -
2019-02-17 21:45:18 +00:00
florian
9514bd9162
* refactored psabieh handling, most code is now in psabiehpi
...
git-svn-id: branches/debug_eh@41367 -
2019-02-17 21:20:40 +00:00
florian
c0c14d5362
* building on PowerPC fixed
...
git-svn-id: branches/debug_eh@41366 -
2019-02-17 21:14:27 +00:00
florian
3567d01ee4
* improved CFI
...
git-svn-id: branches/debug_eh@41356 -
2019-02-17 20:26:32 +00:00
florian
5587c878e6
* small fixes for pseabieh
...
+ raise node support for pseabieh
git-svn-id: branches/debug_eh@41355 -
2019-02-17 20:12:51 +00:00
florian
a3594574ca
* in case of finally nodes of implicit frames with a third=nil, exit has to load 0 into the exception value, so an explicit exit call is not handled as an exception
...
git-svn-id: branches/debug_eh@41318 -
2019-02-14 22:30:40 +00:00
florian
a91f009b7e
* cleanup
...
git-svn-id: branches/debug_eh@41309 -
2019-02-11 20:33:50 +00:00
florian
3b77146e1c
* adapt FPC_Unwind_Exception for native eh_frame support
...
git-svn-id: branches/debug_eh@41307 -
2019-02-11 20:30:21 +00:00
florian
294c7c9daf
* adapt identifiert name
...
* updates for eh_frame support on native targets
* improved messages
git-svn-id: branches/debug_eh@41306 -
2019-02-11 20:29:02 +00:00
florian
dcf9744f12
* reverts accidentally changed identifier spelling
...
git-svn-id: branches/debug_eh@41305 -
2019-02-11 20:27:29 +00:00
florian
6817cea33b
+ missing unit
...
git-svn-id: branches/debug_eh@41291 -
2019-02-10 22:37:54 +00:00
florian
6b0c2a45f5
* compilation fixes
...
git-svn-id: branches/debug_eh@41290 -
2019-02-10 19:33:14 +00:00
florian
65aebd22b0
+ initial implementation of dwarf/eh_frame based exception handling for i386-linux, basic stuff works, open todos
...
* nested exception handling statments in one procedure need to be fixed
* clean up, finally factor out tcgprocinfo from psub at least
* extensive testing
git-svn-id: branches/debug_eh@41289 -
2019-02-10 18:07:33 +00:00
florian
501b384b17
+ define psabieh to enable dwarf based exception handling
...
git-svn-id: branches/debug_eh@41288 -
2019-02-10 18:01:11 +00:00
florian
72a02b467c
+ generate more cfi on x86
...
git-svn-id: branches/debug_eh@41287 -
2019-02-10 18:00:24 +00:00
florian
65cece7657
+ mark outmost frame in CFI
...
git-svn-id: branches/debug_eh@41286 -
2019-02-10 17:59:04 +00:00
florian
27ab140dd9
+ gcc_except_table section
...
+ support exception related sections in the default LD linker script
git-svn-id: branches/debug_eh@41285 -
2019-02-10 17:57:48 +00:00
florian
b81cc7fbaf
* set filepos better
...
git-svn-id: branches/debug_eh@41284 -
2019-02-10 17:53:52 +00:00
florian
e2c83edc2a
+ flag when a procedure generated exception table data
...
git-svn-id: branches/debug_eh@41283 -
2019-02-10 17:51:18 +00:00
florian
dfe37de0a1
* do not use push/pop based exception reason handling on i386 if dwarf based exceptions are used
...
git-svn-id: branches/debug_eh@41282 -
2019-02-10 17:49:40 +00:00
Jonas Maebe
a0831b058a
* fixed LLVM para loading for byval paralocs that are preceded by other
...
paralocs
git-svn-id: branches/debug_eh@41217 -
2019-02-03 21:10:18 +00:00
Jonas Maebe
af098474f4
* keep track of the alignment requirements of parameters with LLVM, and emit
...
them when they are different from the default
git-svn-id: branches/debug_eh@41216 -
2019-02-03 21:10:14 +00:00
Jonas Maebe
016882ca82
* do not add references to external procedures and variables to the used
...
compiler symbols of the current module (useless, and moreover crashes
clang)
git-svn-id: branches/debug_eh@41215 -
2019-02-03 21:10:11 +00:00
Jonas Maebe
1b48e6abe8
* _Unwind_SetGR/_Unwind_GetGR/_Unwind_SetIP/_Unwind_GetIP implementation for
...
ARM EABI
git-svn-id: branches/debug_eh@41214 -
2019-02-03 21:10:07 +00:00
Jonas Maebe
ef1757a5a7
+ ARM EABI exception handling support for PSABIEH
...
git-svn-id: branches/debug_eh@41213 -
2019-02-03 21:10:04 +00:00
Jonas Maebe
d835a91a31
* detabbed
...
git-svn-id: branches/debug_eh@41212 -
2019-02-03 21:10:01 +00:00
Jonas Maebe
8eb07ed7b1
* add support for custom calling conventions to LLVM function declarations
...
git-svn-id: branches/debug_eh@41211 -
2019-02-03 21:09:58 +00:00
Jonas Maebe
9d07e4948f
* fix compilation of ARM compiler for LLVM
...
git-svn-id: branches/debug_eh@41210 -
2019-02-03 21:09:54 +00:00
Jonas Maebe
7aa6a2ec81
* only make a copy of the finally code in pass_1 instead of in pass_typecheck,
...
to avoid an internalerror in case the finally code contains a goto outside
the finally code (tbf/tb0209.pp)
git-svn-id: branches/debug_eh@41209 -
2019-02-03 21:09:51 +00:00
Jonas Maebe
d93c05a90c
* synchronised with trunk till r41207
...
git-svn-id: branches/debug_eh@41208 -
2019-02-03 21:05:37 +00:00
Jonas Maebe
13ce27cc1d
* fixed the default external assembler for llvm when using -s
...
git-svn-id: trunk@41207 -
2019-02-03 21:01:13 +00:00
Jonas Maebe
1abea6451c
* fixed thlcgobj.g_rangecheck() for cpuhighleveltarget when targetting a
...
cpu32bitalu
git-svn-id: trunk@41206 -
2019-02-03 21:01:08 +00:00
Jonas Maebe
7af95cbf06
* LLVM does not support 128 bits arithmetic on 32 bit platforms, which we
...
need for overflow checking -> use RTL built-ins
git-svn-id: trunk@41205 -
2019-02-03 21:01:02 +00:00
Jonas Maebe
353be907c7
* update the stack alignment field of parameters when doing so for paralocs
...
git-svn-id: trunk@41204 -
2019-02-03 21:00:57 +00:00
Jonas Maebe
7a65e1f393
* fixed ARM paraloc defs (for LLVM)
...
git-svn-id: trunk@41203 -
2019-02-03 21:00:51 +00:00
Jonas Maebe
da0deae9ae
* removed unnecessary replacements of the paraloc def with arraydefs on ARM
...
git-svn-id: trunk@41202 -
2019-02-03 21:00:46 +00:00
Jonas Maebe
8c362eac67
* always emit UAL when using LLVM (clang does not and will not support
...
pre-UAL)
git-svn-id: trunk@41201 -
2019-02-03 21:00:41 +00:00
Jonas Maebe
ab51e8637c
* set default Mac OS X target version to 10.6 for LLVM (earlier versions did
...
not include libunwind in libSystem, causing linking errors when compiling
on later versions)
git-svn-id: trunk@41200 -
2019-02-03 21:00:36 +00:00
Jonas Maebe
f9668f8c03
* let de LLVM parameter manager merge multiple paralocs used to represent a
...
single ordinal, as such splitting is handled by LLVM itself (and handling
such split locations is currently not supported by our LLVM code generator)
git-svn-id: trunk@41199 -
2019-02-03 21:00:28 +00:00
Jonas Maebe
503ea604f3
+ nolinline modifier to specify that a routine must never be inlined
...
git-svn-id: trunk@41198 -
2019-02-03 21:00:17 +00:00
joost
5341f6fc7a
* Fixed the user-repository path on Windows
...
git-svn-id: trunk@41197 -
2019-02-03 20:08:21 +00:00
nickysn
1d7ff66602
+ added .Sort() overloads with a SortingAlgorithm parameter to TFPGList,
...
TFPGObjectList, TFPGInterfacedObjectList and TFPSMap
git-svn-id: trunk@41196 -
2019-02-03 19:49:35 +00:00
nickysn
5c4af27a7a
+ added test for the sortbase unit
...
git-svn-id: trunk@41195 -
2019-02-03 19:16:48 +00:00