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
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
florian
e7e12f0f31
+ some more arm binary writer stuff, this is mainly a transfer commit
...
git-svn-id: trunk@1068 -
2005-09-09 16:12:19 +00:00
peter
375a5add80
* rename al_debug to al_typestabs
...
* first write al_typestabs before other sections
git-svn-id: trunk@1054 -
2005-09-06 06:32:26 +00:00
peter
c470097764
* fix overflow in the asmlist array
...
git-svn-id: trunk@903 -
2005-08-18 05:28:16 +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
6234341ef2
* Uninitialised variables are no longer declared with .comm
...
git-svn-id: trunk@766 -
2005-07-30 17:40:20 +00:00
daniel
603e165761
* add exclude(to_do,threadvarsegment) to assemble.pas to temporarily fix
...
reported problem.
git-svn-id: trunk@748 -
2005-07-25 20:03:26 +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
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
dc363f29bc
* maybequoted() added
2004-12-22 16:32:45 +00:00
peter
6c9c4c686c
* small m68k updates to bring it up2date
...
* give better error for external local variable
2004-11-09 22:32:59 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
mazen
7321a78e1c
* Merge is complete for this file, cycles !
2004-10-14 14:47:52 +00:00
peter
0395100a07
* reverted USE_SYSUTILS patch until ll patches are readyt
2004-10-13 17:58:54 +00:00
mazen
3df0e367c2
* Merge is complete for this file
2004-10-13 14:53:28 +00:00
florian
5051301b16
+ non writeable unit output directory produces a nice error message now
2004-10-08 15:52:40 +00:00
peter
ef7ae0eab1
* debuginfo fixes
2004-10-04 18:26:51 +00:00
peter
892daa42ec
* AB_COMMON symbols need special relocation in stabs
2004-10-04 15:48:11 +00:00
peter
519bf9889e
don't lowercase filenames in stabs
2004-08-27 20:53:52 +00:00
peter
6663adfd50
* fixed win32 that was broken by previous fix
2004-08-25 15:55:32 +00:00
Tomas Hajny
a3d82fd80f
* binary writer fix for GO32v2 from Peter
2004-08-24 19:31:44 +00:00
Jonas Maebe
a8d3a47a61
+ detect assembler errors when using -ap
2004-07-01 18:28:54 +00:00
peter
4ad491412a
* fix wrong calculation of .bss section
2004-07-01 15:42:53 +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
3c8d4c8f11
* set correct n_line type when starting new .o file by passing
...
the current section type
2004-05-21 22:43:36 +00:00
michael
ebec652408
+ Patch from peter for stack overflow
2004-03-22 09:28:34 +00:00
peter
be489d4405
* start with bssline
2004-03-15 21:50:09 +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
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +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
peter
1422985ca0
* Change several $ifdef i386 to x86
...
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
Jonas Maebe
b0ea6b1379
+ support for piped assembling under Darwin
2004-01-30 15:44:23 +00:00
marco
80abe98cf0
* havelinuxrtl10 fixes
2003-11-10 17:22:28 +00:00
peter
96f9973b46
* taicpu_abstract.oper[] changed to pointers
2003-10-21 15:15:35 +00:00
marco
487650ab51
* -XP<prefix> support
2003-10-03 14:16:48 +00:00
peter
b369a7ee9e
* better link on target support
2003-09-30 19:54:23 +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
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
pierre
907b785f0d
* add support for constant offset in stabs address, needed by threadvar debugging support
2003-07-04 22:40:58 +00:00
peter
99c4b6cf86
* m68k fix
2003-04-23 13:48:07 +00:00
peter
9ed2ce8c12
* removed some notes/hints
2003-04-22 14:33:38 +00:00
olle
64fb522791
* niceified comments
2003-03-10 18:16:00 +00:00
marco
04b80d3123
* more hasunix fixes
2003-01-10 21:49:00 +00:00
carl
53d90a34ab
- remove some unused defines
2002-11-24 18:18:04 +00:00
carl
64655be168
* memory optimization (3-4%) : cleanup of tai fields,
...
cleanup of tdef and tsym fields.
* make it work for m68k
2002-11-17 16:31:55 +00:00
peter
bfd72ad5d5
* merged changes from 1.0.7 up to 04-11
...
- -V option for generating bug report tracing
- more tracing for option parsing
- errors for cdecl and high()
- win32 import stabs
- win32 records<=8 are returned in eax:edx (turned off by default)
- heaptrc update
- more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
peter
477bc04c6a
* always include lineno after fileswitch. valgrind requires this
2002-10-30 21:01:14 +00:00
peter
20af604613
* memdebug enhancements
2002-09-05 19:29:42 +00:00
peter
ecb430a8eb
* don't write (stabs)line info when inlining a procedure
2002-08-20 16:55:38 +00:00
carl
9da171faf2
+ stab register indexes for powerpc (moved from gdb to cpubase)
...
+ tprocessor enumeration moved to cpuinfo
+ linker in target_info is now a class
* many many updates for m68k (will soon start to compile)
- removed some ifdef or correct them for correct cpu
2002-08-12 15:08:39 +00:00
peter
425bb45ddc
* renamed current_library to objectlibrary
2002-08-11 14:32:25 +00:00
peter
ac71268ce6
* saving of asmsymbols in ppu supported
...
* asmsymbollist global is removed and moved into a new class
tasmlibrarydata that will hold the info of a .a file which
corresponds with a single module. Added librarydata to tmodule
to keep the library info stored for the module. In the future the
objectfiles will also be stored to the tasmlibrarydata class
* all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
florian
eb2ca8d10f
* rewrote the system handling
2002-07-26 21:15:37 +00:00
Jonas Maebe
cb3eb438b6
* memory leak fixes from Sergey Korshunoff
2002-07-10 07:24:40 +00:00
peter
4285e99853
* internal linker
...
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
06ebac4e27
* readded missing revisions
2002-05-18 13:34:04 +00:00
carl
21b3a10f02
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
...
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c
* removed old logs and updated copyright year
2002-05-14 19:34:38 +00:00
Jonas Maebe
3566880766
* fix for the ie9999 under Linux (patch from Peter)
2002-04-10 08:07:55 +00:00
carl
021a0670c2
+ more documentation
2002-04-07 13:18:19 +00:00
peter
5e7a1e3729
* removed unused units
...
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
peter
5b242f7741
* tlocation,treference update
...
* LOC_CONSTANT added for better constant handling
* secondadd splitted in multiple routines
* location_force_reg added for loading a location to a register
of a specified size
* secondassignment parses now first the right and then the left node
(this is compatible with Kylix). This saves a lot of push/pop especially
with string operations
* adapted some routines to use the new cg methods
2002-04-02 17:11:27 +00:00
Jonas Maebe
c5bd8e67ee
* compiles again with -dmemdebug
2001-11-06 14:53:48 +00:00
michael
f959a590fe
* Fixes win32 linking problems with import libraries
...
* LINKLIB Libraries are now looked for using C file extensions
* get_exepath fix
2001-09-18 11:30:47 +00:00
peter
45dab81414
* merged netbsd, fpu-overflow from fixes branch
2001-09-17 21:29:10 +00:00
peter
2d610e9be3
* asbsd merged
2001-08-30 20:57:09 +00:00
peter
ce43e79517
* detect duplicate labels
2001-08-30 19:43:50 +00:00
florian
9746f4c2d6
* some cg reorganisation
...
* some PPC updates
2001-08-26 13:35:06 +00:00
peter
634a68bf3e
* merged netbsd start
...
* profile for win32
2001-08-07 18:47:12 +00:00
peter
b10e754536
* alignmentinfo record added
...
* -Oa argument supports more alignment settings that can be specified
per type: PROC,LOOP,VARMIN,VARMAX,CONSTMIN,CONSTMAX,RECORDMIN
RECORDMAX,LOCALMIN,LOCALMAX. It is possible to set the mimimum
required alignment and the maximum usefull alignment. The final
alignment will be choosen per variable size dependent on these
settings
2001-07-01 20:16:15 +00:00
peter
e24474d9ac
* -Ur switch (merged)
...
* masm fixes (merged)
* quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
peter
50ddd43c70
* smartlink with dll fixed (merged)
2001-06-13 18:31:57 +00:00
peter
7583ae7d01
* used target_asm.id instead of target_info.assem
2001-04-21 15:34:49 +00:00
peter
0c03535b5b
* registration of targets and assemblers
2001-04-18 22:01:53 +00:00
peter
a7cf57524e
* symtable change to classes
...
* range check generation and errors fixed, make cycle DEBUG=1 works
* memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
eb95f58e21
* don't create temporary smartlink dir for internalassembler
2001-03-13 18:42:39 +00:00
peter
1b1f938c43
* changed to class with common TAssembler also for internal assembler
2001-03-05 21:39:11 +00:00
michael
0a8415f483
* bug correction: pipes must be closed by pclose (not close);
...
There was too many not closed processes under Linux before patch.
Test this by making a compiler under Linux with command
OPT="-P" make
and check a list of processes in another shell with
ps -xa
2001-02-26 08:08:16 +00:00
peter
3ea409ab44
* tasm/masm fixes merged
2001-02-20 21:36:39 +00:00
peter
38305e0a1a
* fixed uninited var
2001-02-09 23:06:17 +00:00
peter
eda26e9190
* support linux unit for ver1_0 compilers
2001-02-05 20:46:59 +00:00
marco
ad6ba5dd70
* Renamefest. Compiler part. Not that hard.
2001-01-21 20:32:45 +00:00
peter
5ea6603165
* fixed searching for utils
2001-01-12 19:19:44 +00:00
peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +00:00