Jonas Maebe
7a65ffac28
* use DW_FORM_ref4 instead of DW_FORM_ref_addr on
...
tf_dwarf_relative_addresses platforms
* also add a file to the line info section if no code in the current
module to make gdb happy when doing a "maintenance check-symtabs"
git-svn-id: trunk@6313 -
2007-02-02 23:16:47 +00:00
Jonas Maebe
ea6204cc56
* only mark abstract varsyms as externally visible if they
...
are not kept in a register and either
a) are in a globalsymtable
b) are marked as static object/class member
c) are marked as "public"
git-svn-id: trunk@6302 -
2007-02-02 17:31:26 +00:00
Jonas Maebe
bf38367b69
* if a module has no procedure/function/init/final code,
...
add a dummy entry to the lineinfo and finish it properly
(needed for at least the Darwin linker)
git-svn-id: trunk@6301 -
2007-02-02 17:23:42 +00:00
Jonas Maebe
d39d06ea01
* initial fixes if tf_dwarf_relative_addresses is set:
...
* store dataptr as a relative offsets instead of absolute addresses
* only place local (address) labels inside the debug_info section
-> also always write debuginfo of defs used from another unit
* don't use DW_LNS_advance_pc on Darwin, because its assembler doesn't
support the .uleb128 pseudo-opcode -> impossible to store the difference
between two labels as an uleb128
-> basic functionality of dwarf2 debug info now works on Darwin. Not
yet workingon Darwin: accessing globals of another compilation unit.
git-svn-id: trunk@6300 -
2007-02-02 16:00:47 +00:00
Jonas Maebe
d99a616167
* simplified use_64bit_headers code to avoid if-statement blowups
...
when adding tf_dwarf_relative_addresses support
git-svn-id: trunk@6299 -
2007-02-02 14:36:56 +00:00
Jonas Maebe
3067415fe4
* replaced hardcoded '.L' label prefixes with target_asm.labelprefix
...
git-svn-id: trunk@6295 -
2007-02-02 10:38:46 +00:00
tom_at_work
a0813b42bf
* fixed DWARF debug info for powerpc64/linux, correcting the procedure entry symbol (must be the dotted symbol, not the function descriptor location, otherwise gdb cannot find locals
...
git-svn-id: trunk@6242 -
2007-01-28 12:12:12 +00:00
pierre
7145c25260
* avoid level 2 comments
...
git-svn-id: trunk@6014 -
2007-01-17 05:40:35 +00:00
peter
91dbd27a42
* cleanup deleting of defs
...
git-svn-id: trunk@5902 -
2007-01-11 20:46:57 +00:00
Jonas Maebe
c54e49d428
* fixed range check errors
...
git-svn-id: trunk@5432 -
2006-11-20 13:15:30 +00:00
Marc Weustink
6b48dc8143
* fixed lineinfo reference
...
git-svn-id: trunk@5418 -
2006-11-18 02:05:54 +00:00
Marc Weustink
1a5c19fdcf
* reverted to defines for 64bit targets
...
* added 64bit header support
git-svn-id: trunk@5417 -
2006-11-18 00:50:46 +00:00
Marc Weustink
cfbedf5a10
* added a temp fix for dwarf64 debug generation
...
git-svn-id: trunk@5412 -
2006-11-16 23:56:08 +00:00
tom_at_work
9905e6d7ff
* never generate 64 bit offsets/sizes in DWARF debug info for now
...
git-svn-id: trunk@5410 -
2006-11-16 22:12:30 +00:00
peter
9ae8e9fa21
* refactor tclassheader in tvmtbuilder and tvmtwriter
...
* fix rtti generation
* rtti is now written at the end of a module when all info is available,
this prevents some duplicate rtti entries cause by inheritance
git-svn-id: trunk@5363 -
2006-11-13 22:03:17 +00:00
peter
0557ddc342
* removed typed const, it is now handled by staticvarsym
...
* globalvarsym renamed to staticvarsym
* fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
peter
3cae449fda
* moved rtti to ncgrtti
...
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
peter
e17b424e28
* refactor procsym procdef list
...
git-svn-id: trunk@5210 -
2006-11-03 18:44:46 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
1684a6fc32
* replaced tdictionary with tfphashlist
...
git-svn-id: trunk@5148 -
2006-11-01 14:26:50 +00:00
peter
05183ac829
* AsmSymbolDict changed to FPHashObjectList
...
git-svn-id: trunk@5139 -
2006-11-01 00:22:13 +00:00
peter
136d3e8d46
* refactor implemented interfaces
...
git-svn-id: trunk@5134 -
2006-10-31 22:38:49 +00:00
peter
cb246eb781
* Remove dos,strings units, use SysUtils instead
...
* replace split* functions with Extract* functions
* Add Directory caching
git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
ef7bd58c54
* germanism removed (aktfilepos -> current_filepos)
...
git-svn-id: trunk@5099 -
2006-10-30 22:37:31 +00:00
peter
070b86a512
* order of named sections added
...
* fix debugstart and debugend labels
git-svn-id: trunk@5098 -
2006-10-30 22:34:22 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
peter
0f6355e805
* fix property overriding
...
git-svn-id: trunk@5045 -
2006-10-28 20:35:53 +00:00
Marc Weustink
31090d8736
* generate realnames for syms in -gw3
...
git-svn-id: trunk@4833 -
2006-10-08 16:27:03 +00:00
Marc Weustink
88e00bd264
* removed write depend def, write only defs when needed
...
git-svn-id: trunk@4816 -
2006-10-06 23:54:38 +00:00
peter
b66b8ed495
* dwarf fixes
...
* reuse of global dwarf entries
git-svn-id: trunk@4780 -
2006-10-04 10:18:14 +00:00
Marc Weustink
48340d291e
* splitup dwarf2/dwarf3
...
* changed cpu64bit define into isdwarf64 boolean
* generate info for methods
git-svn-id: trunk@4759 -
2006-09-30 15:21:17 +00:00
Marc Weustink
9000d5c578
+ Added dwarf .debug_line info
...
-This line, and those below, will be ignored--
M compiler/dbgdwarf.pas
M compiler/aggas.pas
git-svn-id: trunk@4607 -
2006-09-10 17:59:18 +00:00
florian
9e66674ff9
+ first part of qwordbool implementation
...
git-svn-id: trunk@4462 -
2006-08-19 23:16:17 +00:00
Jonas Maebe
eccbc78e04
+ support for bitpacked arrays:
...
+ use {$bitpacking on/+} to change the meaning of "packed"
into "bitpacked" for arrays. This is the default for MacPas.
You can also define individual arrays as "bitpacked", but
this is not encouraged since this keyword is not known by
other compilers and therefore makes your code unportable.
+ pack(unpackedarray,index,packedarray) to pack
length(packedarray) elements starting at
unpackedarray[index] into packedarray.
+ unpack(packedarray,unpackedarray,index) to unpack
packedarray into unpackedarray, with the first
element being stored at unpackedarray[index]
* todo:
* "open packed arrays" and rtti for packed arrays are not
yet supported
* gdb does not properly support bitpacked arrays
git-svn-id: trunk@4449 -
2006-08-19 12:54:12 +00:00
florian
a7b5f78daf
* fixed crash in dwarf generation when generating info for empty default parameter sets
...
git-svn-id: trunk@4140 -
2006-07-10 18:14:52 +00:00
florian
863a701fd2
* check if we've to write the basedef for enums when writing debug info
...
git-svn-id: trunk@4130 -
2006-07-08 18:47:06 +00:00
peter
dfd84c6fd3
* leb128 gets always a 64bit int
...
* fixed sleb128 encode
git-svn-id: trunk@3060 -
2006-03-27 13:42:06 +00:00
peter
0ec2921bbe
* split newasmsymbol to refasmsymbol and defineasmsymbol
...
git-svn-id: trunk@3057 -
2006-03-27 11:45:18 +00:00
peter
95be416b9d
* don't allow stringconst+integer
...
* change booleans in arraydef to set
* set option in arraydef to indicate a constant string so
a nicer type can be shown instead of array[0..x] of char
git-svn-id: trunk@3051 -
2006-03-27 07:22:02 +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
peter
38c0ae73da
Merged revisions 2775,2788-2789 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2775 | peter | 2006-03-05 22:43:30 +0100 (Sun, 05 Mar 2006) | 2 lines
* merge ppu changes to keep ppus the same
........
r2788 | peter | 2006-03-06 12:59:14 +0100 (Mon, 06 Mar 2006) | 2 lines
* Add TFPList and TFPObjectList
........
r2789 | peter | 2006-03-06 13:01:37 +0100 (Mon, 06 Mar 2006) | 2 lines
* fix powerpc
........
git-svn-id: trunk@2790 -
2006-03-06 12:04:44 +00:00
peter
785550d7e3
Merged revisions 2669,2673,2677,2683,2696,2699-2702,2704,2708,2712-2715,2718,2722-2723,2728-2730,2740,2769 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
........
r2669 | peter | 2006-02-23 09:31:21 +0100 (Thu, 23 Feb 2006) | 2 lines
* add compiler dir
........
r2673 | peter | 2006-02-23 17:08:56 +0100 (Thu, 23 Feb 2006) | 2 lines
* enabled more code
........
r2677 | peter | 2006-02-24 17:46:29 +0100 (Fri, 24 Feb 2006) | 2 lines
* pe stub and headers
........
r2683 | peter | 2006-02-25 23:13:24 +0100 (Sat, 25 Feb 2006) | 2 lines
* section options cleanup
........
r2696 | peter | 2006-02-26 20:27:41 +0100 (Sun, 26 Feb 2006) | 2 lines
* fixed typecasts
........
r2699 | peter | 2006-02-26 23:04:32 +0100 (Sun, 26 Feb 2006) | 2 lines
* simple linking works
........
r2700 | peter | 2006-02-27 09:44:50 +0100 (Mon, 27 Feb 2006) | 2 lines
* internal linker script
........
r2701 | peter | 2006-02-27 12:05:12 +0100 (Mon, 27 Feb 2006) | 2 lines
* make elf working again
........
r2702 | peter | 2006-02-27 14:04:43 +0100 (Mon, 27 Feb 2006) | 3 lines
* disable dwarf for smartlinking with .a
* fix section start in new .a file
........
r2704 | peter | 2006-02-27 18:30:43 +0100 (Mon, 27 Feb 2006) | 2 lines
* stab section fixes
........
r2708 | peter | 2006-02-28 19:29:17 +0100 (Tue, 28 Feb 2006) | 2 lines
* basic work to merge stabs sections
........
r2712 | peter | 2006-02-28 23:17:48 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload tmodules before linking
........
r2713 | peter | 2006-02-28 23:18:51 +0100 (Tue, 28 Feb 2006) | 2 lines
* fixed stabs linking
........
r2714 | peter | 2006-02-28 23:19:19 +0100 (Tue, 28 Feb 2006) | 2 lines
* show code and data size
........
r2715 | peter | 2006-02-28 23:25:35 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload .stabs from objdata after it is merged
........
r2718 | peter | 2006-03-01 12:24:38 +0100 (Wed, 01 Mar 2006) | 3 lines
* memsize/datasize cleanup
* check for exports/resources when adding module to linker
........
r2722 | peter | 2006-03-03 09:12:20 +0100 (Fri, 03 Mar 2006) | 2 lines
* new TObjSymbol splitted from TAsmSymbol
........
r2723 | peter | 2006-03-03 14:08:55 +0100 (Fri, 03 Mar 2006) | 2 lines
* coff fixes after recent objsymbol changes
........
r2728 | peter | 2006-03-03 22:43:04 +0100 (Fri, 03 Mar 2006) | 2 lines
* fixed coff writer
........
r2729 | peter | 2006-03-04 01:10:32 +0100 (Sat, 04 Mar 2006) | 2 lines
* fix read-only opening
........
r2730 | peter | 2006-03-04 01:11:16 +0100 (Sat, 04 Mar 2006) | 2 lines
* Read edata from DLLs, basic work
........
r2740 | peter | 2006-03-04 21:13:43 +0100 (Sat, 04 Mar 2006) | 3 lines
* deletedef added
* don't remove defs from index when we are already clearing everything
........
r2769 | peter | 2006-03-05 21:42:33 +0100 (Sun, 05 Mar 2006) | 4 lines
* moved TObj classes to ogbase
* ObjSection.SymbolRefs and SymbolDefines list
* DLL importing
........
git-svn-id: trunk@2771 -
2006-03-05 21:10:37 +00:00
Jonas Maebe
6db9f7c3b7
* changed append_entry from a function in a procedure since its result
...
isn't set nor used anywhere
git-svn-id: trunk@2757 -
2006-03-05 13:32:47 +00:00
florian
3a1cac6f0d
* on non x86 systems currency is a orddef type
...
git-svn-id: trunk@2637 -
2006-02-19 18:21:18 +00:00
florian
58433b83ed
* dwarf on x86-64 is working
...
git-svn-id: trunk@2575 -
2006-02-14 19:01:46 +00:00
florian
05207fc54e
* fixed references
...
git-svn-id: trunk@2554 -
2006-02-12 21:58:33 +00:00
florian
a1ffe2a2a9
* make cycle "OPT=-Aas -gw" works
...
git-svn-id: trunk@2541 -
2006-02-12 18:12:54 +00:00
florian
379617e90b
* fixed constant symbol handling for dwarf
...
git-svn-id: trunk@2536 -
2006-02-12 15:12:06 +00:00
florian
e92d4c87bd
* dwarf: ignore propertysyms for now
...
git-svn-id: trunk@2525 -
2006-02-11 22:46:11 +00:00
florian
6cebeabbd4
* fixed writing of ansistring as DW_FORM_string
...
git-svn-id: trunk@2524 -
2006-02-11 22:42:04 +00:00
peter
232555904e
* symtablestack cleanup and rewrite
...
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
florian
2ff2918016
* fixed open arrays with dwarf
...
* fixed line info writting for smart linked files
git-svn-id: trunk@2446 -
2006-02-05 20:41:13 +00:00
florian
c9c74c0825
* fixed tvardata handling in the system unit
...
+ absolute syms
+ ignore syssyms
git-svn-id: trunk@2434 -
2006-02-04 21:30:24 +00:00
florian
231d2e01f0
+ dwarf: stringdefs
...
git-svn-id: trunk@2433 -
2006-02-04 20:47:22 +00:00
florian
bb5ea455e1
* fixed objectdef dwarf
...
git-svn-id: trunk@2432 -
2006-02-04 16:27:06 +00:00
florian
12730b4cb1
+ dwarf: objectdef
...
git-svn-id: trunk@2429 -
2006-02-04 16:08:51 +00:00
florian
5b9e0ab9d6
* dwarf: procedure variables fixed
...
git-svn-id: trunk@2427 -
2006-02-04 14:02:07 +00:00
florian
733875c108
+ dwarf: procvardefs
...
git-svn-id: trunk@2426 -
2006-02-04 12:10:51 +00:00
florian
d515fed3db
+ dwarf: formaldefs and classrefdefs
...
git-svn-id: trunk@2421 -
2006-02-03 19:11:15 +00:00
florian
845ab889fa
+ dwarf for variants and file types
...
* fixed dwarf for void pointers
* fixed dwarf for type syms
git-svn-id: trunk@2411 -
2006-02-02 22:54:44 +00:00
florian
e1e611b86e
+ debug info for register variables
...
git-svn-id: trunk@2410 -
2006-02-02 21:47:18 +00:00
florian
9991b859ca
* fixed parameter symbol writing
...
git-svn-id: trunk@2407 -
2006-02-02 17:10:52 +00:00
florian
c0f80338ab
+ support for dwarf parameter symbols
...
git-svn-id: trunk@2397 -
2006-02-01 22:44:19 +00:00
florian
8f9c450535
+ typed constants for dwarf
...
git-svn-id: trunk@2387 -
2006-01-31 22:32:54 +00:00
florian
c23b328f96
+ first implementation of record dwarf debugging info
...
git-svn-id: trunk@2386 -
2006-01-31 22:13:49 +00:00
florian
133366a411
* fixed writing of string constant symbols
...
git-svn-id: trunk@2375 -
2006-01-29 12:37:53 +00:00
florian
a5d254e8fe
* dwarf:
...
+ array debug info
+ constant sym debug info
git-svn-id: trunk@2374 -
2006-01-29 12:06:57 +00:00
florian
8c408e67fd
* gdb doesn't support set types in dwarf yet
...
git-svn-id: trunk@2372 -
2006-01-29 09:28:23 +00:00
florian
b4946c6dc9
* started to fix setdef writing for dwarf
...
* some missing finish_entry inserted
git-svn-id: trunk@2369 -
2006-01-28 23:52:39 +00:00
florian
2b059f925f
+ ignore rtti syms in dwarf
...
git-svn-id: trunk@2368 -
2006-01-28 23:40:54 +00:00
florian
3fad2d3c72
* dwarf for sets and typesyms
...
git-svn-id: trunk@2367 -
2006-01-28 23:34:18 +00:00
florian
97b135f5cd
* enumeration sym names need trailing #0
...
git-svn-id: trunk@2365 -
2006-01-28 22:46:18 +00:00
florian
e75d5ac47c
* fixed previous commit
...
git-svn-id: trunk@2364 -
2006-01-28 22:42:34 +00:00
florian
826b5cf34a
+ dwarf support for enums
...
git-svn-id: trunk@2363 -
2006-01-28 22:36:27 +00:00
florian
30c0b4dae5
+ dwarf for floats
...
git-svn-id: trunk@2362 -
2006-01-28 22:22:25 +00:00
florian
64acd83ab4
+ dwarf for procedures and local symbols
...
git-svn-id: trunk@2360 -
2006-01-28 21:26:37 +00:00
florian
3755909958
+ basic types and pointer types completed
...
git-svn-id: trunk@2357 -
2006-01-28 18:02:41 +00:00
florian
5391a1632e
* fixed filename and dir writting for dwarf compilation unit
...
git-svn-id: trunk@2356 -
2006-01-28 16:51:15 +00:00
florian
cac8dca3f8
* fixed line info
...
git-svn-id: trunk@2355 -
2006-01-28 16:43:52 +00:00
florian
8cd8e4ba8d
+ basic dwarf support for variables and types
...
git-svn-id: trunk@2353 -
2006-01-28 16:06:08 +00:00
florian
c1c7888179
+ some dwarf constants added
...
git-svn-id: trunk@2328 -
2006-01-22 17:53:33 +00:00
florian
6af88cec0f
+ first implementation of dwarf line info generation using .file and .loc, little use with binary writers though ...
...
git-svn-id: trunk@2327 -
2006-01-22 15:59:26 +00:00
florian
aa176601fb
+ added more dwarf sections
...
git-svn-id: trunk@2318 -
2006-01-21 21:22:47 +00:00
peter
fdc4925fcd
* basic framework for debuginfo class added
...
git-svn-id: trunk@1084 -
2005-09-15 08:34:51 +00:00