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
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
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
6ffe906794
* Mover {CompilerVersion} from the fppkg.cfg template to samplecfg, because
...
on Windows it is possible to install fpc in a location without the
compilerversion in the path.
git-svn-id: trunk@41184 -
2019-02-03 13:32:43 +00:00
Jonas Maebe
0db9ff5c39
* fixed packed bitsize calculation for types with a negative lower bound and
...
and upper bound just below the next power of two (mantis #34971 )
git-svn-id: trunk@41161 -
2019-02-01 17:31:53 +00:00
Jonas Maebe
a0d796e98d
* synchronised with trunk till r41159
...
git-svn-id: branches/debug_eh@41160 -
2019-02-01 17:01:54 +00:00
Károly Balogh
6c87b89e45
atari: fpc now searches for the compiler with .ttp extension, as that's the default on Atari
...
git-svn-id: trunk@41141 -
2019-01-30 10:48:27 +00:00
florian
2b6076a719
* compilation fixed
...
git-svn-id: trunk@41139 -
2019-01-29 22:06:32 +00:00
Jonas Maebe
e52cf555ab
* fix loading of constants in registers in the LLVM CG if the constant
...
does not fit in ptrsinttype
git-svn-id: trunk@41138 -
2019-01-29 21:39:26 +00:00
Jonas Maebe
2d01fe76f6
* initialse the cgpara for the C-style varargs on ARM (needed for LLVM)
...
git-svn-id: trunk@41137 -
2019-01-29 21:39:23 +00:00
Jonas Maebe
9c3e9e80a3
* fixed type correctness of and simplified the threadvar loading size
...
optimisation
git-svn-id: trunk@41135 -
2019-01-29 21:39:16 +00:00
Jonas Maebe
4869d0ace9
* perform extension of parameters to 32 bit for Darwin in the paraloc instead
...
of in the cgpara (cgpara should always correspond to the real parameter)
git-svn-id: trunk@41134 -
2019-01-29 21:39:12 +00:00
Jonas Maebe
04d295f186
* first step towards supporting 32 bit targets with the LLVM code generator:
...
use the generic code in more cases when cpuhighleveltarget is defined
git-svn-id: trunk@41133 -
2019-01-29 21:39:09 +00:00
florian
2f40f81890
+ sanity check
...
git-svn-id: trunk@41131 -
2019-01-29 20:40:41 +00:00
florian
afd4599d26
* correctly handle LDRD in TAoptBaseCpu.RegModifiedByInstruction
...
git-svn-id: trunk@41130 -
2019-01-29 20:40:40 +00:00
florian
acbf7d15c4
* do not load always the references into a register in g_concatcopy
...
git-svn-id: trunk@41129 -
2019-01-29 20:40:39 +00:00
florian
4db5478acc
+ support msr regf,reg32 on arm in the internal assembler
...
git-svn-id: trunk@41128 -
2019-01-29 20:38:51 +00:00
florian
a186f48442
* cosmetics
...
git-svn-id: trunk@41127 -
2019-01-29 20:17:47 +00:00
florian
6c88894999
* do not call the internal assembler if -s is passed
...
git-svn-id: trunk@41126 -
2019-01-29 20:16:12 +00:00
Károly Balogh
d1878fe5b2
morphos: support section GC with GNU LD as well
...
git-svn-id: trunk@41105 -
2019-01-29 05:02:18 +00:00
pierre
7817e48e9a
-Xr is also supported for systems_android
...
git-svn-id: trunk@41104 -
2019-01-28 17:43:15 +00:00