florian
e3204bb902
* fixed arm-linux
...
git-svn-id: trunk@6654 -
2007-02-25 20:44:55 +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
Jonas Maebe
73c853757a
* proper section names for sec_debug_line, sec_debug_info and
...
sec_debug_abbrev on darwin
git-svn-id: trunk@6284 -
2007-02-01 15:46:33 +00:00
florian
c238bb15d1
* .init section support
...
git-svn-id: trunk@5835 -
2007-01-07 10:03:52 +00:00
Jonas Maebe
f56d53c0e1
* disable generation of smartlinkable code for Darwin for now since
...
the result doesn't work yet due to a bug in Apple's linker
git-svn-id: trunk@5719 -
2006-12-26 17:07:28 +00:00
Károly Balogh
121a5c3cb8
+ workaround for old Amiga GNU AS, which vomits for .fpc sections
...
git-svn-id: trunk@5714 -
2006-12-26 08:43:27 +00:00
Károly Balogh
8c4f672954
+ avoidin .sections in the generated asm file for m68k-amiga,
...
and m68k-linux, to fix old GNU AS. hope this change doesn't
break the new one... (did i mention that GNU binutils suck?)
git-svn-id: trunk@5545 -
2006-12-05 19:20:43 +00:00
Jonas Maebe
a9980bf951
* fixed darwin compilation
...
git-svn-id: trunk@5310 -
2006-11-10 17:12:30 +00:00
yury
5f484a0f14
* section "fpc" was renamed to ".fpc".
...
* compiler version string is stored in .fpc.version section.
* debug start/end links are stored in .fpc.links section.
* fixed linking with eVC++ object files by internal linker.
* .fpc.links section is removed by internal linker before writing executable, because it is no longer needed.
git-svn-id: trunk@5305 -
2006-11-10 10:33:41 +00:00
peter
3e4c8c3425
* fixed invalid typecast
...
git-svn-id: trunk@5190 -
2006-11-02 23:11:25 +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
d07f470b71
* remove ifdef fpc
...
git-svn-id: trunk@4819 -
2006-10-07 13:43:34 +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
peter
088949b864
* fix NOP opcode
...
git-svn-id: trunk@4732 -
2006-09-26 18:27:18 +00:00
florian
d15f5871c2
* write align opcode in text sections in case of gas output, fixes #7440
...
git-svn-id: trunk@4702 -
2006-09-24 07:44:33 +00:00
Jonas Maebe
17e61456c6
* support for creating smartlinkable files under darwin. Don't turn on
...
smartlinking (-XX) yet though, it doesn't work because of bugs in the
current darwin linker regarding dealing with multiple symbols referring
to the same address.
git-svn-id: trunk@4613 -
2006-09-12 12:05:38 +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
Marc Weustink
1f3e05131a
fixed generation of dwarf lineinfo in win32
...
git-svn-id: trunk@4171 -
2006-07-13 23:53:53 +00:00
yury
550626ef34
- Removed need of assembler startup files for wince. Now compiler directly creates .pdata section needed for arm-wince exception handling.
...
git-svn-id: trunk@3764 -
2006-06-02 08:36:25 +00:00
tom_at_work
da95ffc4f3
* fixed .toc section label generation
...
git-svn-id: trunk@3673 -
2006-05-25 20:00:48 +00:00
Jonas Maebe
848fa52fa1
* enable rodata for ppc (+ darwin renaming to ".const")
...
git-svn-id: trunk@3642 -
2006-05-23 11:08:07 +00:00
florian
3a03aee386
* use .rodata directive on arm
...
git-svn-id: trunk@3632 -
2006-05-22 19:15:11 +00:00
Jonas Maebe
da3d22e11e
* fixed for darwin
...
git-svn-id: trunk@3413 -
2006-05-02 07:43:52 +00:00
tom_at_work
b64981a704
* initial gprof code for ppc64/linux
...
* compilation fixes
* alignment related fixes
git-svn-id: trunk@3270 -
2006-04-18 10:21:58 +00:00
florian
97fcac35f3
* fixed compilation on winx64
...
git-svn-id: trunk@3254 -
2006-04-17 20:33:07 +00:00
peter
efe41b0766
* fixed section smartlinking with ld.exe
...
* reference debugstart and debugend sections
git-svn-id: trunk@3127 -
2006-04-02 20:18:38 +00:00
peter
5376d2d570
Merged revisions 3072-3073 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r3072 | peter | 2006-03-29 13:34:42 +0200 (Wed, 29 Mar 2006) | 4 lines
* std_regname generate pair of registers for float doubles
* don't call translate_register for regvars if -sr is passed
* use std_regname in regalloc message
........
r3073 | peter | 2006-03-29 16:00:37 +0200 (Wed, 29 Mar 2006) | 2 lines
* CMP instructions only read operands
........
git-svn-id: trunk@3079 -
2006-03-30 06:36:42 +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
e7a419cbff
* leb128 support for binary writers
...
git-svn-id: trunk@3049 -
2006-03-26 21:12:33 +00:00
peter
37c81492ad
Merged revisions 2827,2831,2837,2932-2980 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
r2827 (peter)
* smartlinking of resourcestrings
r2831 (peter)
* process_ea 64bit fixes
r2837 (peter)
* linker script
git-svn-id: trunk@2981 -
2006-03-19 22:12:52 +00:00
Jonas Maebe
d56857e998
* fixed r2970 (% instead of #)
...
git-svn-id: trunk@2977 -
2006-03-19 20:41:36 +00:00
peter
76944b0c85
* fix writing of @object for arm
...
git-svn-id: trunk@2970 -
2006-03-19 19:11:37 +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
Jonas Maebe
693412e70c
* removed "inline" directive from TGNUAssembler.WriteInstruction
...
because it triggers an internalerror when loading the nodetree
for that method from the ppu file
git-svn-id: trunk@2880 -
2006-03-11 23:29:47 +00:00
peter
86a15e83e9
* fix section flags for stabs
...
git-svn-id: trunk@2838 -
2006-03-10 18:35:17 +00:00
Jonas Maebe
ba6f1e4990
* factered WriteInstruction out of TGNUAssembler into its own class
...
* put Apple-specific GNU assembler stuff in its own class
+ darwin/x86 support to the assembler writer
git-svn-id: trunk@2818 -
2006-03-09 14:59:04 +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
c5243db965
+ more darwin i386 support
...
git-svn-id: trunk@2596 -
2006-02-15 16:31:05 +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
Jonas Maebe
976bb457b4
* fixed WriteDecodedSleb128
...
git-svn-id: trunk@2413 -
2006-02-03 12:37:50 +00:00
florian
64acd83ab4
+ dwarf for procedures and local symbols
...
git-svn-id: trunk@2360 -
2006-01-28 21:26:37 +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
238d18bef2
* fixed some broken stuff due to tai_const refactoring
...
git-svn-id: trunk@2329 -
2006-01-22 21:50:12 +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
b06643a1eb
* tai_const refactored
...
git-svn-id: trunk@2323 -
2006-01-22 12:58:38 +00:00
florian
aa176601fb
+ added more dwarf sections
...
git-svn-id: trunk@2318 -
2006-01-21 21:22:47 +00:00
tom_at_work
c887507adf
* generic compiler patches for ppc64/linux PIC code
...
git-svn-id: trunk@2222 -
2006-01-08 13:27:31 +00:00
tom_at_work
8c8e25353b
* reverted changes from 2214, needs to be split into several commits
...
git-svn-id: trunk@2215 -
2006-01-08 01:03:15 +00:00
tom_at_work
6313a9be7b
* basic code generation for dynamic linking code for ppc64
...
git-svn-id: trunk@2214 -
2006-01-07 22:16:33 +00:00
florian
61e3b70cfa
* cleaned up segmented thread variables
...
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
florian
06c84e1c5e
* fixed writing of symbol sizes
...
git-svn-id: trunk@2123 -
2006-01-02 18:29:18 +00:00
Jonas Maebe
f0c028d6c8
+ dwarf support for darwin/mac os x (not really enabled yet, since it's
...
currently only used if a target requires it)
git-svn-id: trunk@2010 -
2005-12-20 17:54:11 +00:00
peter
1e1ea0c3b6
* write .type and .size only for target that support it
...
git-svn-id: trunk@1956 -
2005-12-15 11:39:23 +00:00
Jonas Maebe
dac02c3032
* always use the regular secnames for darwin currently
...
git-svn-id: trunk@1937 -
2005-12-12 14:45:06 +00:00
florian
ca782dddc7
* write correct type usual symbols
...
git-svn-id: trunk@1933 -
2005-12-11 23:11:55 +00:00
florian
fb8e885a94
+ write data block size and type
...
* changed .space to .zero
git-svn-id: trunk@1931 -
2005-12-11 23:03:20 +00:00
florian
924265c0af
* pic compatible section names
...
git-svn-id: trunk@1924 -
2005-12-10 22:04:04 +00:00
tom_at_work
28381b1287
* new assembler symbol type AT_LABEL needed for PowerPc64 target
...
+ added automatic definition of FPC_REQUIRES_PROPER_ALIGNMENT define for PowerPC64 target
git-svn-id: trunk@1278 -
2005-10-03 22:13:45 +00:00
tom_at_work
3681639a6a
- more PowerPC64 fixes; "Hello World" style programs can be compiled and run
...
git-svn-id: trunk@1209 -
2005-09-27 18:16:49 +00:00
florian
b1568fed2a
* don't strip aname for resources
...
git-svn-id: trunk@1199 -
2005-09-25 21:03:55 +00:00
michael
2057b480a9
+ Fixed resource section names
...
git-svn-id: trunk@1185 -
2005-09-25 13:12:42 +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
peter
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
...
getjumplabel and added type para to getlabel for specific types
* moved lineinfo generation from assemble and aggas to dbgstabs
git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
peter
c3727c29b2
* rename al_code to al_procedures, al_bss/al_data to al_globals
...
* more work for section smartlinking
git-svn-id: trunk@1083 -
2005-09-15 06:51:12 +00:00
michael
3392189fb0
+ Implemented resources for ELF
...
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +00:00
peter
05a628447f
* put typedconsts in own asmlist to prevent mixing
...
array and string data
* added al_rodata
* renamed tasmlist enum names to include al_ prefix
git-svn-id: trunk@899 -
2005-08-17 08:42:52 +00:00
daniel
738660fb8a
* Add remarks from the e-mails
...
git-svn-id: trunk@777 -
2005-08-01 06:57:11 +00:00
daniel
e9f8903be4
* Add Mac OS X exception again
...
git-svn-id: trunk@776 -
2005-08-01 06:44:28 +00:00
daniel
94447481c1
* Use .space instead of .fill
...
git-svn-id: trunk@775 -
2005-07-31 21:25:40 +00:00
daniel
6234341ef2
* Uninitialised variables are no longer declared with .comm
...
git-svn-id: trunk@766 -
2005-07-30 17:40:20 +00:00
daniel
e98865ab40
* Fixes and further development of fast threadvars
...
git-svn-id: trunk@743 -
2005-07-25 14:07:02 +00:00
daniel
22e89e1a42
* Proof of concept: Support threadvars using segment registers.
...
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +00:00
daniel
d05f58b604
* Group asmlists into array to be able to add
...
some of them more comfortably.
* x86_64 compilation was broken, fixed.
* Sparc compilation was broken, fixed.
git-svn-id: trunk@731 -
2005-07-23 13:44:32 +00:00
Jonas Maebe
6171499d15
* fixed creating shared libraries under Darwin/Mac OS X
...
git-svn-id: trunk@727 -
2005-07-22 10:09:52 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
fcde2cab80
* support rodata like data when writing ordinal cosnts
2004-10-24 13:35:25 +00:00
mazen
a8bf3670d5
* Merge is complete for this file, cycles !
2004-10-14 16:49:14 +00:00
peter
8fb3536f6e
* simple regvar support, not yet finished
2004-09-26 17:45:29 +00:00
peter
519bf9889e
don't lowercase filenames in stabs
2004-08-27 20:53:52 +00:00
Tomas Hajny
692fa34dba
* fix for OS/2 and EMX - .section not supported by as.exe
2004-07-18 22:04:55 +00:00
Jonas Maebe
bd53954c88
* Darwin fixes
2004-07-01 18:16:10 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
829ec81267
* fix wrong regalloc comments
2004-05-28 21:13:08 +00:00
peter
5358278ca1
tai_regalloc.allocation changed to ratype to notify rgobj of register size changes
2004-05-22 23:34:27 +00:00
florian
8aacc9fb7e
* fixed wrong commit from yesterday
2004-04-27 13:38:24 +00:00
florian
1f18d7ac1b
* some m68k stuff fixed
2004-04-25 21:26:16 +00:00
florian
e678705648
* small x86_64 fixes
2004-04-12 18:59:32 +00:00
florian
0b0c4a4062
* fixed handling of doubles in a native arm compiler
...
* fixed handling of typed double constants on arm
2004-03-17 22:27:41 +00:00
florian
61f15e4ec4
* make cycle fixed
...
+ pic support for darwin
+ support of importing vars from shared libs on darwin implemented
2004-03-02 17:32:12 +00:00
peter
8bfb707401
* tf_need_symbol_size added
2004-02-22 16:51:50 +00:00
florian
37454274bc
* fixed several arm floating point issues
2004-01-24 18:12:40 +00:00
florian
1779c5dd8c
* fixed symbol type writing for arm-linux
...
* fixed assembler generation for abs
2004-01-20 21:02:54 +00:00
peter
42c6e9323b
* sparc updates, mostly float related
2004-01-12 16:39:40 +00:00