Commit Graph

27 Commits

Author SHA1 Message Date
florian
9e9b38d0cf * cfi for avr needs 32 bit pc begin and range 2022-09-29 23:06:03 +02:00
florian
1fc54dd8bb * improve dwarf cfi on avr 2022-09-28 22:47:06 +02:00
Joost van der Sluis
3385ce92a2 * Always generate CFI-information. During linking it can be omitted when
no debug-information is requested. On Linux this needed a change in the
   linker-script. On Windows it already works as desired. Other targets
   may need some adjustments as well.
2022-07-10 12:24:18 +02:00
Joost van der Sluis
3434d10968 * Fixed padding of CFI-structures on non-32bit architectures 2022-06-13 00:57:40 +02:00
Jonas Maebe
ca399f3c71 * don't generate high-level CFI statements when the selected assembler
does not support them, even if the target normally uses them
   o fixes assembling with -Aas-darwin for i386/arm/x86-64 (on OS
     versions that used those)

git-svn-id: trunk@49138 -
2021-04-08 19:50:27 +00:00
florian
577e584c77 * RiscV: basic CFI stuff fixed
git-svn-id: trunk@48937 -
2021-03-10 20:55:37 +00:00
florian
599ba8cc2a + generate initial cfi for aarch64
git-svn-id: trunk@48701 -
2021-02-17 20:43:37 +00:00
florian
5b29e7a3ec + (safe) heuristics to use DW_CFA_advance_loc1 in CFI
git-svn-id: trunk@48687 -
2021-02-16 21:16:54 +00:00
florian
436a0d3f9e * generate advance_loc records only if there was code/data since the last advance_loc entry
git-svn-id: trunk@48686 -
2021-02-15 22:26:49 +00:00
florian
e694897bb3 * initial implementation of CFI support for arm (non-thumb)
git-svn-id: trunk@48684 -
2021-02-15 21:34:07 +00:00
florian
a3d68e6839 * arm thumb: generate proper cfi
git-svn-id: trunk@48678 -
2021-02-14 21:26:41 +00:00
florian
1e960a9aeb * the size of the CIE_pointer in an FDE is always 32 bit
git-svn-id: trunk@48507 -
2021-02-03 20:05:56 +00:00
svenbarth
0fbd418cb7 * generate CFI data only if we're either using it for exception handling or if debug output is enabled (or should this only be generated for targets that in theory support DWARF exception handling?). This removes unnecessary bloat from e.g. Windows binaries
git-svn-id: trunk@45330 -
2020-05-10 20:46:08 +00:00
florian
6f434b6751 * AVR: fixed TDwarfAsmCFILowLevel.generate_initial_instructions
git-svn-id: trunk@43982 -
2020-01-19 15:55:21 +00:00
florian
aac8559a8d * some runtime errors fixed, if compiled with -CrR
git-svn-id: trunk@42479 -
2019-07-21 12:25:55 +00:00
florian
adb8e1b76c * fix writing of augmentation size
git-svn-id: branches/debug_eh@42254 -
2019-06-20 15:33:49 +00:00
Jonas Maebe
1b6425176b * synchronised with trunk till r42049
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
281b3ad276 * fix case completeness and unreachable code warnings in compiler that would
be introduced by the next commit

git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
5d28e2156b + support for generating Dwarf CFI using .cfi_* directives
o adjust peephole optimisers so they don't remove cfi_endproc directives
     in case of tail call optimisation

git-svn-id: branches/debug_eh@41578 -
2019-03-03 17:15:03 +00:00
florian
c03e4ca4e7 * get rid of current_asmdata.AsmCFI as TDwarfAsmCFI casts
git-svn-id: branches/debug_eh@41574 -
2019-03-03 16:07:11 +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
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
pierre
23ff1e0681 * fix error in cfidwarf rev 16062 for non-windows systems
git-svn-id: trunk@16067 -
2010-09-30 07:41:19 +00:00
pierre
fa4b4906e6 * ogcoff.pas: Add support for RELOC_SECREL32.
* cfidwarf.pas: Fix CIE pointer inside dwarf-FDE entry which must be
    a section relative offset.

git-svn-id: trunk@16062 -
2010-09-29 12:58:21 +00:00
yury
491f0fa1d8 * Replaced all user defined warnings by TODO comments to reduce compiler noise.
git-svn-id: trunk@11443 -
2008-07-23 11:00:03 +00:00
peter
870be04a3f * use dwarf_reg()
git-svn-id: trunk@3046 -
2006-03-26 20:15:32 +00:00
peter
b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines

  * pass ObjectWriter to ObjectOuput

........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines

  * refactor asmdata

........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines

  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit

........

git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00