Jonas Maebe
4d97044bba
* mark whether or not procsyms are global (DW_AT_external)
...
git-svn-id: trunk@6314 -
2007-02-02 23:18:15 +00:00
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