florian 
							
						 
					 
					
						
						
						
						
							
						
						
							c1c8a274bc 
							
						 
					 
					
						
						
							
							* fixed compilation on non x86 systems  
						
						... 
						
						
						
						git-svn-id: trunk@3300 - 
						
					 
					
						2006-04-20 15:03:53 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							cf0c78e7af 
							
						 
					 
					
						
						
							
							* Support in tempnodes for SSE floats in XMM registers  
						
						... 
						
						
						
						git-svn-id: trunk@3295 - 
						
					 
					
						2006-04-20 11:16:26 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							b6e35a200e 
							
						 
					 
					
						
						
							
							* rewrite of optimizer options  
						
						... 
						
						
						
						git-svn-id: trunk@2901 - 
						
					 
					
						2006-03-13 09:05:50 +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 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							b06643a1eb 
							
						 
					 
					
						
						
							
							* tai_const refactored  
						
						... 
						
						
						
						git-svn-id: trunk@2323 - 
						
					 
					
						2006-01-22 12:58:38 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e4451558c4 
							
						 
					 
					
						
						
							
							* optimized register allocation for tempnodes  
						
						... 
						
						
						
						git-svn-id: trunk@2221 - 
						
					 
					
						2006-01-08 12:53:43 +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 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							5c35fd818d 
							
						 
					 
					
						
						
							
							* ie on powerpc fixed: synching of fpu register variables wasn't implemented, maybe subject to be merged back to 2.0.x  
						
						... 
						
						
						
						git-svn-id: trunk@1078 - 
						
					 
					
						2005-09-13 20:54:25 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							cdd5b61af8 
							
						 
					 
					
						
						
							
							+ internal error added  
						
						... 
						
						
						
						git-svn-id: trunk@1069 - 
						
					 
					
						2005-09-10 09:29:56 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							8bc4e0a32f 
							
						 
					 
					
						
						
							
							* inline and compilerproc are now procoptions instead of proccall types  
						
						... 
						
						
						
						(so both can be combined with each other, as well as with other calling
     conventions)
  * defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated
git-svn-id: trunk@658 - 
						
					 
					
						2005-07-18 15:27:14 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							79eac1c0b3 
							
						 
					 
					
						
						
							
							* fix [regpara] in intel assembler  
						
						
						
					 
					
						2005-01-31 17:07:50 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							1c458abb0b 
							
						 
					 
					
						
						
							
							* compile fixes for x86_64  
						
						
						
					 
					
						2004-12-12 12:56:18 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5ee4b9ad24 
							
						 
					 
					
						
						
							
							* use tlocation for tempnodes  
						
						
						
					 
					
						2004-12-03 16:04:47 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							959bdccc49 
							
						 
					 
					
						
						
							
							* disable pass2inline  
						
						
						
					 
					
						2004-12-02 19:26:14 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							0c7e53bb81 
							
						 
					 
					
						
						
							
							* fixed compile of powerpc,sparc,arm  
						
						
						
					 
					
						2004-11-11 19:31:33 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							6458bd0ce1 
							
						 
					 
					
						
						
							
							* tvarsym splitted  
						
						
						
					 
					
						2004-11-08 22:09:58 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							c95a859f0a 
							
						 
					 
					
						
						
							
							* generic tlocation  
						
						... 
						
						
						
						* move tlocation to cgutils 
						
					 
					
						2004-10-31 21:45:02 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8fb3536f6e 
							
						 
					 
					
						
						
							
							* simple regvar support, not yet finished  
						
						
						
					 
					
						2004-09-26 17:45:29 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							65c3ba277c 
							
						 
					 
					
						
						
							
							* ungetregister is now only used for cpuregisters, renamed to  
						
						... 
						
						
						
						ungetcpuregister
  * renamed (get|unget)explicitregister(s) to ..cpuregister
  * removed location-release/reference_release 
						
					 
					
						2004-09-25 14:23:54 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							33a834821f 
							
						 
					 
					
						
						
							
							* paraloc branch merged  
						
						
						
					 
					
						2004-09-21 17:25:12 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							ddf175f171 
							
						 
					 
					
						
						
							
							+ temps can now also hold fpu values in registers (take care with use,  
						
						... 
						
						
						
						bacause of the x86 fpu stack)
  * fpu parameters to node-inlined procedures can now also be put in
    a register 
						
					 
					
						2004-07-16 19:45:15 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							b86f2c6a25 
							
						 
					 
					
						
						
							
							* methodpointer is loaded into a temp when it was a calln  
						
						
						
					 
					
						2004-05-23 18:28:40 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							72365ec95b 
							
						 
					 
					
						
						
							
							* implicit_finally flag must be set in pass1  
						
						... 
						
						
						
						* add check whether the implicit frame is generated when expected 
						
					 
					
						2004-05-23 15:06:20 +00:00 
						 
				 
			
				
					
						
							
							
								michael 
							
						 
					 
					
						
						
						
						
							
						
						
							2f26f9ebb4 
							
						 
					 
					
						
						
							
							+ Fix from peter: fixes crash when inlining assembler code referencing local vars  
						
						
						
					 
					
						2004-03-15 08:44:51 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8756d4f862 
							
						 
					 
					
						
						
							
							* maybe_in_reg moved to tempinfo  
						
						... 
						
						
						
						* fixed expectloc for maybe_in_reg 
						
					 
					
						2004-03-10 20:41:17 +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 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							3dc9af4d1f 
							
						 
					 
					
						
						
							
							* fixed relsymbol copy/paste bug  
						
						
						
					 
					
						2004-02-27 19:30:23 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							fabb9c33ac 
							
						 
					 
					
						
						
							
							* top_symbol killed  
						
						... 
						
						
						
						+ refaddr to treference added
  + refsymbol to treference added
  * top_local stuff moved to an extra record to save memory
  + aint introduced
  * tppufile.get/putint64/aint implemented 
						
					 
					
						2004-02-27 10:21:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0b1069b6ab 
							
						 
					 
					
						
						
							
							+ some more usage of register temps  
						
						
						
					 
					
						2004-02-04 18:45:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							0d004c1e35 
							
						 
					 
					
						
						
							
							* fixed and re-enabled temps in registers  
						
						
						
					 
					
						2004-02-03 19:48:06 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							6eec8798cd 
							
						 
					 
					
						
						
							
							* cleanup  
						
						
						
					 
					
						2004-02-03 17:55:50 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							694eee6cae 
							
						 
					 
					
						
						
							
							+ support to store ttempcreate/ref/deletenodes in registers  
						
						... 
						
						
						
						* put temps for withnodes and some newnodes in registers
   Note: this currently only works because calling ungetregister()
     multiple times for the same register doesn't matter. We need again
     a way to specify that a register is currently a regvar and as such
     should not be freed when you call ungetregister() on it. 
						
					 
					
						2004-02-03 16:46:51 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							bbf7300a0c 
							
						 
					 
					
						
						
							
							* Florian's culmutative nr. 1; contains:  
						
						... 
						
						
						
						- invalid calling conventions for a certain cpu are rejected
    - arm softfloat calling conventions
    - -Sp for cpu dependend code generation
    - several arm fixes
    - remaining code for value open array paras on heap 
						
					 
					
						2003-11-07 15:58:32 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							30f1eb4705 
							
						 
					 
					
						
						
							
							* fix for referencecounted temps  
						
						
						
					 
					
						2003-11-04 15:35:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							31ff6f25cb 
							
						 
					 
					
						
						
							
							* fixed ppc compilation  
						
						
						
					 
					
						2003-11-02 13:30:05 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							48ef24605a 
							
						 
					 
					
						
						
							
							* support scalefactor for opr_local  
						
						... 
						
						
						
						* support reference with opr_local set, fixes tw2631 
						
					 
					
						2003-10-30 19:59:00 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							5925d38ac7 
							
						 
					 
					
						
						
							
							* support indexing and offset retrieval for locals  
						
						
						
					 
					
						2003-10-29 15:40:20 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							96afb56699 
							
						 
					 
					
						
						
							
							* asmnode.get_position now inserts a marker  
						
						
						
					 
					
						2003-10-24 17:39:41 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							96f9973b46 
							
						 
					 
					
						
						
							
							* taicpu_abstract.oper[] changed to pointers  
						
						
						
					 
					
						2003-10-21 15:15:35 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							fb81b7ebbb 
							
						 
					 
					
						
						
							
							* old trgobj moved to x86/rgcpu and renamed to trgx86fpu  
						
						... 
						
						
						
						* tregisteralloctor renamed to trgobj
  * removed rgobj from a lot of units
  * moved location_* and reference_* to cgobj
  * first things for mmx register allocation 
						
					 
					
						2003-10-10 17:48:13 +00:00 
						 
				 
			
				
					
						
							
							
								daniel 
							
						 
					 
					
						
						
						
						
							
						
						
							b2343f4b16 
							
						 
					 
					
						
						
							
							* Register allocator splitted, ans abstract now  
						
						
						
					 
					
						2003-10-09 21:31:37 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							9365837ecd 
							
						 
					 
					
						
						
							
							* fix register calling for assembler procedures  
						
						... 
						
						
						
						* fix result loading for assembler procedures 
						
					 
					
						2003-10-07 18:18:16 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							70fe77ca7c 
							
						 
					 
					
						
						
							
							* procinfo unit contains tprocinfo  
						
						... 
						
						
						
						* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles 
						
					 
					
						2003-10-01 20:34:48 +00:00 
						 
				 
			
				
					
						
							
							
								peter 
							
						 
					 
					
						
						
						
						
							
						
						
							8af51ea6d3 
							
						 
					 
					
						
						
							
							* locals and paras are allocated in the code generation  
						
						... 
						
						
						
						* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure 
						
					 
					
						2003-09-23 17:56:05 +00:00