Commit Graph

266 Commits

Author SHA1 Message Date
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
marco
b65958a61e * Renamefest 2000-11-13 15:26:12 +00:00
peter
38951f5ce1 * lot of compile updates for cg11 2000-10-01 19:48:23 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
peter
4c94659743 * moved some util functions from globals,cobjects to cutils
* splitted files into finput,fmodule
2000-08-27 16:11:48 +00:00
michael
665c1f6410 + patched to 1.1.0 with former 1.09patch from peter 2000-07-13 12:08:24 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
peter
120d2f0130 * added ifdef fpc around findclose 2000-06-01 19:11:19 +00:00
peter
65d78b71d2 * clean .o and .s from smartlinkpath when starting the writer 2000-06-01 13:02:45 +00:00
pierre
d9fc5de9ac + accept nasmwin32 output 2000-04-04 15:05:03 +00:00
peter
2ba0ebe607 * removed warnings/notes 2000-02-24 18:41:38 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
6607475609 * fixed placing of .sl directories
* use -b again for base-file selection
  * fixed group writing for linux with smartlinking
2000-01-11 09:52:06 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
peter
e169c592f8 * searchpaths changed to stringqueue object 1999-11-12 11:03:49 +00:00
peter
df694c76e8 * filename fixes for win32 imports for units with multiple needed dll's 1999-11-08 10:37:12 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
19443ae269 * import library fixes for win32
* alignment works again
1999-11-02 15:06:56 +00:00
pierre
910372616a * typo correction 1999-09-16 11:34:44 +00:00
daniel
1777e0c901 * Could not compile with TP, some arrays moved to heap
* NOAG386BIN default for TP
  * AG386* files were not compatible with TP, fixed.
1999-09-02 18:47:41 +00:00
florian
046acfb84b * made it compilable with Dlephi 4 again
+ fixed problem with large stack allocations on win32
1999-07-18 10:19:38 +00:00
peter
b867e4f6de * assembler smartlink message 1999-07-10 10:12:03 +00:00
peter
1e75d2d672 * better smartlinking support 1999-07-03 00:27:02 +00:00
peter
438c1e07b6 * merged 1999-06-28 16:02:29 +00:00
peter
0b272f13c7 * removed oldasm
* plabel -> pasmlabel
  * -a switches to source writing automaticly
  * assembler readers OOPed
  * asmsymbol automaticly external
  * jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
peter
a47afc3857 * removed oldppu code
* warning if objpas is loaded from uses
  * first things for new deref writing
1999-05-13 21:59:19 +00:00
peter
4841b4236c * updated messages 1999-05-05 22:21:47 +00:00
florian
78d13ec796 * changes to compile it with Delphi 4.0 1999-05-04 21:44:30 +00:00
peter
3f6fafc495 * don't include ag386bin for oldasm 1999-05-02 23:28:42 +00:00
peter
adda83dac6 * moved section names to systems
* fixed nasm,intel writer
1999-05-02 22:41:46 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
d0cb5a147a * fixed bugs 212,222,225,227,229,231,233 1999-03-24 23:16:42 +00:00
peter
461a11158e + .a writer 1999-03-18 20:30:44 +00:00
peter
f4c74e4a3d * synchronize also the objfile for ag386bin 1999-03-01 15:43:48 +00:00
peter
a17c03cca3 * assembler writers fixed for ag386bin 1999-02-26 00:48:13 +00:00
peter
e25d934e2f * small updates for ag386bin 1999-02-24 00:59:11 +00:00
peter
bf9b5e3a54 * updates for ag386bin 1999-02-22 02:14:59 +00:00
peter
23f7e0c601 * small fixes for the binary writer 1999-02-17 10:16:24 +00:00
peter
1ace0dc9b8 * moved some tables from ra386*.pas -> i386.pas
+ start of coff writer
  * renamed asmutils unit to rautils
1999-01-10 15:37:51 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
pierre
3539ab25da * assemble failure increments status errorcount again !! 1998-11-06 09:46:46 +00:00
peter
aea3c488fb + fixpath() has an extra option to allow a ./ as path 1998-10-26 22:23:28 +00:00
florian
eaab0f1c1b + switch -FD added to specify the path for utilities 1998-10-16 13:37:14 +00:00
peter
8d1adfae43 * fixed asmsynchronize 1998-10-15 16:19:42 +00:00
pierre
d4854b6324 * all references to comp suppressed for m68k 1998-10-14 15:56:37 +00:00
pierre
c3b3abdb65 * undid some changes of Peter that made the compiler wrong
for m68k (I had to reinsert some ifdefs)
  * removed several memory leaks under m68k
  * removed the meory leaks for assembler readers
  * cross compiling shoud work again better
    ( crosscompiling sysamiga works
     but as68k still complain about some code !)
1998-10-13 16:49:59 +00:00
peter
1468993242 * new style for m68k/i386 infos and enums 1998-10-13 13:10:08 +00:00
pierre
ff45eacd79 + source_os is now set correctly for cross-processor compilers
(tos contains all target_infos and
     we use CPU86 and CPU68 conditionnals to
     get the source operating system
     this only works if you do not undefine
     the source target  !!)
  * several cg68k memory leaks fixed
  + started to change the code so that it should be possible to have
    a complete compiler (both for m68k and i386 !!)
1998-10-13 08:19:24 +00:00
peter
0fc61cdfc1 * -vu shows unit info, -vt shows tried/used files 1998-10-08 23:28:50 +00:00
carl
906801ddcb + MPW support 1998-10-07 04:27:37 +00:00
peter
a0c582dc12 * merged fixes 1998-09-16 16:41:38 +00:00
peter
295d53cb69 + smartlinking for win95 imports 1998-09-07 18:33:31 +00:00
pierre
5bde11ba3b * bug with datalabel corrected
+ assembler errors better commented
  * one nested record crash removed
1998-09-04 17:34:20 +00:00
peter
c316229a7f * reduce amount of asmfiles generated
* no stabs are written in writefilelineinfo when debuginfo is off
1998-08-26 10:06:34 +00:00
pierre
b61cd6cd0e + TEST_FUNCRET now default (old code removed)
works also for m68k (at least compiles)
1998-08-21 14:08:39 +00:00
peter
cc64a929aa * static/shared linking updates 1998-08-17 09:17:43 +00:00