peter
a9c9ca0115
* set elf flags for soft float on arm
...
git-svn-id: trunk@10560 -
2008-03-25 16:15:15 +00:00
peter
52722b2cab
* allocate .bss entries manual so we can take care of alignment
...
* disable COMMON symbol code, it might be needed again for ELF package
support (.comm for ELF supports alignment)
git-svn-id: trunk@10549 -
2008-03-24 11:55:03 +00:00
Jonas Maebe
f36e5411af
* split cpu64bit compiler define into
...
a) cpu64bitaddr, which means that we are generating a compiler which
will generate code for targets with a 64 bit address space/abi
b) cpu64bitalu, which means that we are generating a compiler which
will generate code for a cpu with support for 64 bit integer
operations (possibly running in a 32 bit address space, depending
on the cpu64bitaddr define)
All cpus which had cpu64bit set now have both the above defines set,
and none of the 32 bit cpus have cpu64bitalu set (and none will
compile with it currently)
+ pint and puint types, similar to aint/aword (not pword because that
that conflicts with pword=^word)
* several changes from aint/aword to pint/pword
* some changes of tcgsize2size[OS_INT] to sizeof(pint)
git-svn-id: trunk@10320 -
2008-02-13 20:44:00 +00:00
peter
59365a6db9
- garbage was being output sometimes instead of source lines when compiling with -al. This is because lastfileinfo and lastinfile were never initialized for MASM writer. This is true for TPPCMPWAssembler, too.
...
- long lines were not wrapped.
- constants of type ait_comp_64bit output incorrectly.
- at end of file, current segment was not closed.
patch from Sergei Gorelkin
git-svn-id: trunk@9331 -
2007-11-25 16:46:19 +00:00
peter
a724d80e81
* debuginfo initialized per unit
...
git-svn-id: trunk@8918 -
2007-10-23 18:19:17 +00:00
peter
76b23821e1
* missing recalculation of relative constant
...
* if aligntype=1 then no alignment fillsize guessing is required
git-svn-id: trunk@8701 -
2007-09-30 20:28:41 +00:00
peter
b5fb7120b8
* fixed length calculation of leb128 constants
...
git-svn-id: trunk@8666 -
2007-09-27 22:40:38 +00:00
florian
499cbcbbe1
* make cycle OPT=-gwl -Co -Cr on x86-64 fixed
...
git-svn-id: trunk@7976 -
2007-07-07 19:16:49 +00:00
yury
04147151e4
* Fixed stabs generation for DLLs by internal assembler (use RELOC_ABSOLUTE in all cases).
...
* Do not generate relocs by internal linker for sections which are not loaded in memory.
git-svn-id: trunk@7829 -
2007-06-26 22:51:21 +00:00
daniel
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
...
+ Some initial work on a formaldef which also carries the typinfo of a parameter.
git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
peter
29ffdefacb
* secrel32 relocation support required by dwarf2 under windows
...
git-svn-id: trunk@7172 -
2007-04-25 09:06:36 +00:00
peter
7e71a8224e
* support relative symbol calculation for uleb128/sleb128
...
git-svn-id: trunk@7019 -
2007-03-29 06:08:58 +00:00
peter
69a4e616ba
* fix symbol substraction in stabs
...
git-svn-id: trunk@7008 -
2007-03-27 17:43:28 +00:00
pierre
f91620c22b
* fix threadvar stabstr handling in internal assembler
...
git-svn-id: trunk@6960 -
2007-03-23 06:52:29 +00:00
peter
e0c58d3658
* use .comm again for global variables
...
this is needed for shared library linking where the .so
needs to resolve to the space allocated for the symbol in the
main program
git-svn-id: trunk@6641 -
2007-02-25 16:05:57 +00:00
tom_at_work
106fe68ce6
* renamed TStringList to TCmdStrList, in general use TCmdStr instead of shortstrings to fix bug #6351
...
git-svn-id: trunk@6215 -
2007-01-26 22:29:39 +00:00
Jonas Maebe
228943271f
* increased AsmOutSize from 32kb to 128kb, makes external assembling a
...
little faster
git-svn-id: trunk@6165 -
2007-01-24 15:44:36 +00:00
peter
8bf63f4f69
* don't generate RVA reloc in stabs if there is no symbol
...
git-svn-id: trunk@5990 -
2007-01-15 16:46:50 +00:00
florian
4aa5f6401e
* don't write stabs with rva entries on linux
...
git-svn-id: trunk@5834 -
2007-01-07 00:04:05 +00:00
Jonas Maebe
4454f6da0f
* enable pipe-assembling again for solaris
...
git-svn-id: trunk@5346 -
2006-11-12 21:43:58 +00:00
florian
959a1379cf
* fixed building of smart linked units
...
git-svn-id: trunk@5227 -
2006-11-04 18:12:33 +00:00
peter
5cd8775d38
* show only totals for memdebug
...
git-svn-id: trunk@5196 -
2006-11-03 11:24:02 +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
7a2e0da7bd
* extra parameter for file searching functions
...
that indicate if the cache shall be used or not
* fixed compile of non-x86 targets
git-svn-id: trunk@5115 -
2006-10-31 10:56:58 +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
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
2f72117c9e
* stabs don't write offset in n_value for non-local symbols that use
...
a relocation
git-svn-id: trunk@4763 -
2006-10-01 12:25:45 +00:00
Jonas Maebe
d75b19e484
* removed/conditionalised several unused variables
...
git-svn-id: trunk@4194 -
2006-07-14 19:44:54 +00:00
Marc Weustink
1f3e05131a
fixed generation of dwarf lineinfo in win32
...
git-svn-id: trunk@4171 -
2006-07-13 23:53:53 +00:00
Tomas Hajny
a62c1faa2d
+ output is flushed before launching external utilities
...
git-svn-id: trunk@3539 -
2006-05-15 00:28:55 +00:00
Jonas Maebe
7c16869e48
* don't write individual names of all assembler files when generating
...
a smart linkable unit with -ap
git-svn-id: trunk@3233 -
2006-04-16 18:25:20 +00:00
peter
be88cd47b2
Merged revisions 3090-3113 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
r3090 | peter | 2006-03-30 15:10:15 +0100 (Thu, 30 Mar 2006) | 2 lines
* infrastructure for .vtable directives
r3094 | peter | 2006-03-31 10:01:48 +0100 (Fri, 31 Mar 2006) | 2 lines
* vtable directive fixes
r3113 | peter | 2006-04-01 22:49:57 +0100 (Sat, 01 Apr 2006) | 2 lines
* Smart VTable linking using Symbols
git-svn-id: trunk@3115 -
2006-04-02 00:11:17 +00:00
florian
5e51aa7968
* fixed pe flags x86_64
...
* fixed idata for x86_64
git-svn-id: trunk@3112 -
2006-04-01 20:09:13 +00:00
peter
e7a419cbff
* leb128 support for binary writers
...
git-svn-id: trunk@3049 -
2006-03-26 21:12:33 +00:00
peter
3e074126f4
Merged revisions 3005 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
r3005 (peter)
* fix stab relocation for local symbols
git-svn-id: trunk@3044 -
2006-03-26 18:55:09 +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
d8dc5679e3
* aktcputype and aktoptimizecputype was missing in the previous optimization commits
...
git-svn-id: trunk@2907 -
2006-03-13 12:29:56 +00:00
peter
b6e35a200e
* rewrite of optimizer options
...
git-svn-id: trunk@2901 -
2006-03-13 09:05:50 +00:00
peter
86a15e83e9
* fix section flags for stabs
...
git-svn-id: trunk@2838 -
2006-03-10 18:35:17 +00:00
peter
5abe3dbe38
* fixed invalid typecast
...
git-svn-id: trunk@2776 -
2006-03-05 21:53:41 +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
1e08396b0b
* assembling via a pipe and regular assembling now both use the
...
same binary and command line
git-svn-id: trunk@2591 -
2006-02-15 11:01:25 +00:00
daniel
6ba68594be
* Add --32 or --64 to to ensure functionality of i386 compiler on x64_64 OSes.
...
git-svn-id: trunk@2325 -
2006-01-22 14:29:07 +00:00
florian
b06643a1eb
* tai_const refactored
...
git-svn-id: trunk@2323 -
2006-01-22 12:58:38 +00:00
peter
66f8276445
* refactor booleans in systeminfo structure, they are now flags
...
* support for case aware filesystems (Windows), they do now only
one lookup if a file exists
* add -WI option to generate import section for DLL imports or
let the linker handle it. Default is still import section until
the Makefiles are fixed, then the generation can be left to the
linker
git-svn-id: trunk@2274 -
2006-01-13 15:13:26 +00:00
florian
61e3b70cfa
* cleaned up segmented thread variables
...
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
peter
51b8a4a132
* move stabs generation to a single procedure call from pmodules
...
git-svn-id: trunk@1358 -
2005-10-12 10:35:46 +00:00
peter
ec4d287fd8
* aktoutputformat removed, add new paraXX vars for target
...
assembler and debuginfo and use these vars to override
the defaults for the target after the parameters are read
* remove not-maintained and tested gdb code
git-svn-id: trunk@1201 -
2005-09-25 21:17:37 +00:00
peter
82faa95118
* lineinfo fixed for binary writer
...
* add tai_directive to replace old tai_direct calls
in powerpc
git-svn-id: trunk@1139 -
2005-09-19 11:47:30 +00:00