Commit Graph

289 Commits

Author SHA1 Message Date
Károly Balogh
be67726f8f * added powerpc-morphos target 2004-02-13 05:42:16 +00:00
florian
35b8e93073 * fixed more alignment issues 2004-01-30 13:42:03 +00:00
florian
de4fa4e7e7 * fixed another couple of arm bugs 2004-01-28 15:36:46 +00:00
marco
308ab35e63 * Copy and pasted some structures from Net- to OpenBSD (3.4+ ELF!) 2004-01-21 20:53:50 +00:00
florian
85bed883ce * another bunch of x86-64 fixes mainly calling convention and
assembler reader related
2004-01-14 23:39:05 +00:00
peter
42c6e9323b * sparc updates, mostly float related 2004-01-12 16:39:40 +00:00
Jonas Maebe
9e781b8c7b + added log message for last commit 2004-01-04 21:17:51 +00:00
Jonas Maebe
744d6d85b2 *** empty log message *** 2004-01-04 21:12:47 +00:00
florian
9fd5217032 * some x86-64 compilation fixe 2003-12-20 12:38:51 +00:00
florian
11c5331fbf + nasmelf mode for BeOS
+ DQWORD directive in intel assembler mode
2003-11-29 15:53:06 +00:00
florian
ebab97b3c8 + first part of arm assembler reader 2003-11-17 23:23:47 +00:00
florian
1af574ceca * assembler readers OOPed
+ typed currency constants
  + typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
Tomas Hajny
8980fce60a * Watcom target name didn't fit in name field length 2003-10-18 09:04:11 +00:00
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
peter
4b89bdf738 * use as,ld,ar instead of asw,ldw,arw for win32 2003-10-02 21:17:08 +00:00
florian
22f1ff8da4 * merged Wiktor's Watcom patches in 1.1 2003-09-05 17:41:12 +00:00
olle
c2fe8dbd99 * merged macos entry/exit code generation into the general one. 2003-08-08 15:49:24 +00:00
florian
d2035fd6b4 * very basic stuff for the arm 2003-07-21 11:52:57 +00:00
marco
d2d02b6cc6 * cpuppc -> cpupowerpc. Target compiler was always linux for ppc 2003-05-31 16:17:27 +00:00
florian
a8eb2ab740 * started to fix and clean up the sparc port 2003-05-28 23:18:31 +00:00
marco
925bc00623 * NetBSD target support. OpenBSD reserved in the enum, for future use. 2003-05-25 23:15:04 +00:00
florian
9de6468186 + basic darwin support added 2003-05-20 23:54:00 +00:00
florian
b1b16c8f09 + added abi field to tsysteminfo 2003-05-18 15:15:59 +00:00
Tomas Hajny
8e7124f9f8 + emx target added 2003-03-23 23:11:17 +00:00
peter
71e2d34b5a * m68k pathexist update from 1.0.x
* palmos res update from 1.0.x
2003-01-12 15:42:23 +00:00
florian
b59b436130 * x86-64 compiles
+ very basic support for float128 type (x86-64 only)
2003-01-05 13:36:53 +00:00
carl
67486c96c3 * fixes for Delphi 6 compilation
(warning : Some features do not work under Delphi)
2002-10-05 12:43:23 +00:00
carl
e72f802bb4 * correct tsystem enumeration 2002-10-03 21:18:29 +00:00
florian
d78ad92f92 * first part of PowerPC fixes 2002-09-07 18:05:51 +00:00
florian
4549d72802 + target macos for ppc added
+ frame work for mpw assembler output
2002-08-20 21:40:44 +00:00
florian
4661ee3057 * small fixes to the alpha stuff 2002-08-18 09:13:02 +00:00
florian
af4302bc67 * more fixes for ppc calling conventions 2002-08-13 21:40:55 +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
carl
18b102ce95 + moved target_cpu_string to cpuinfo
* renamed asmmode enum.
  * assembler reader has now less ifdef's
  * move from nppcmem.pas -> ncgmem.pas vec. node.
2002-08-10 14:46:29 +00:00
florian
3fe0229843 + added direct assembler reader for PowerPC 2002-07-28 20:45:22 +00:00
florian
eb2ca8d10f * rewrote the system handling 2002-07-26 21:15:37 +00:00
florian
479a745096 * first x86-64 patches 2002-07-04 20:43:00 +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
carl
f3e1648aa9 + added more patches from Mazen for SPARC port 2002-05-06 19:46:36 +00:00
carl
ddc17340fc * fix compilation problem 2002-04-24 16:08:30 +00:00
carl
87aa88e9b7 + generic FPC_CHECKPOINTER
+ first parameter offset in stack now portable
* rename some constants
+ move some cpu stuff to other units
- remove unused constents
* fix stacksize for some targets
* fix generic size problems which depend now on EXTEND_SIZE constant
2002-04-20 21:32:23 +00:00
carl
6101b737db + target_info.size_of_pointer -> pointer_size
+ some cleanup of unused types/variables
2002-04-15 19:08:22 +00:00
carl
65196196c8 - remove duplicate comment 2002-04-14 16:56:30 +00:00
carl
3b52bd5355 + added SPARC targets
+ added VM target
2002-04-07 10:20:15 +00:00
carl
c1742bad2a - removed cmnts 2002-04-04 19:18:06 +00:00
carl
eb09d6061c - remove go32v1 support 2002-03-28 20:46:44 +00:00
peter
f18ec46e64 * fixed updatealignment to not override settings with undefined
values
2002-01-29 19:44:50 +00:00
Tomas Hajny
72443eecda * source_os changed to source_info in OS/2 define 2002-01-06 20:34:34 +00:00
carl
1e275c2510 + QNX target 2001-12-15 05:43:20 +00:00
Tomas Hajny
09c8fc2184 * Target_Mode corrected back to OS_Mode 2001-11-15 20:48:43 +00:00
peter
27f1d79fd1 * much cleaner default source and target setting 2001-09-30 21:27:59 +00:00
Jonas Maebe
5a0d910cbc * fixed typo in Carl's patch 2001-09-24 10:57:22 +00:00
carl
7bba223f21 + added warning for targets - use same target values as fixes branch 2001-09-22 00:03:53 +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
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
19e153abd3 * under development flag for targets 2001-08-12 17:57: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
marco
28cbd33f17 * Fixed ifdef linux bug 2001-06-19 14:43:31 +00:00
peter
add30a428e * Kylix fixes, mostly case names of units 2001-06-03 20:21:08 +00:00
peter
5fed44fe5d * dllprt0 stub for linux shared libs
* pass -init and -fini for linux shared libs
  * libprefix splitted into staticlibprefix and sharedlibprefix
2001-06-03 15:15:31 +00:00
peter
8ee0413cf7 * extradefines field added to target_info, so that targets don't
need to put code in options.pas for it
2001-06-02 19:21:45 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +00:00
peter
aab27143a3 * patch from Pavel with a new and much faster DLL Scanner for
automatic importing so $linklib works for DLLs. Thanks Pavel!
2001-03-06 18:28:02 +00:00
peter
684970ea22 * merged generic m68k updates from fixes branch 2001-02-26 19:44:52 +00:00
peter
3ea409ab44 * tasm/masm fixes merged 2001-02-20 21:36:39 +00:00
peter
048ff7c855 * merged libp library prefix 2001-01-06 20:15:43 +00:00
peter
12818742d3 * use System for the systemunit instead of target dependent 2000-10-15 09:08:58 +00:00
Tomas Hajny
1045eb6419 * OS/2 stack alignment corrected + default stack increased 2000-09-24 21:12:41 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
marco
31f57d1429 * Set writer to elf. (Only a prob for smart with -OG3p3r) 2000-09-20 10:49:39 +00:00
peter
4003cdb728 * freebsd support merged 2000-09-16 12:22:52 +00:00
florian
6159f4535f + first implementation of Netware Module support, thanks to
Armin Diehl (diehl@nordrhein.de) for providing the patches
2000-09-11 17:00:22 +00:00
peter
8f20bd887d * ELF writer works now also with -g
* ELF writer is default again for linux
2000-08-12 19:14:58 +00:00
michael
d63d102d25 * Back to external assembler till peter fixes gdb 2000-07-14 21:29:38 +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
Tomas Hajny
c790e4afbe + $R support for OS/2 (EMX) added 2000-06-25 19:08:27 +00:00
pierre
6e78b071f7 + new target_os field: maxCstructalignment 2000-06-23 21:31:18 +00:00
pierre
9fa6970737 + added supported_target fiedl to tasminfo record
to disregard wrong assembler settings
2000-05-23 21:26:52 +00:00
pierre
c25e1f17cc * change tosinfo.shortname length, reported by Kovacs Attila Zoltan 2000-05-11 09:07:45 +00:00
Jonas Maebe
57e41f9053 * aasm.pas: pai_align instead of pai_align_abstract if cpu <> i386
+ systems.pas: info for macos/ppc
  * new/cgobj.pas: compiles again without newst define
  * new/powerpc/cgcpu: generate different entry/exit code depending on
    whether target_os is MacOs or Linux
2000-04-22 14:25:03 +00:00
pierre
1f64423e43 * nasmwin32 is 9 chars long, idtxt changed accordingly 2000-04-04 14:18:15 +00:00
pierre
c45c6b14a3 + nasmwin32 for win32 object output with nasm assembler 2000-04-04 13:54:58 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
8e27e760ce * fixed ar commands 1999-11-03 23:43:45 +00:00
peter
fefc839b29 * redesigned linker object
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
florian
863df30860 + rtti is now automatically generated for published classes, i.e.
they are handled like an implicit property
1999-09-15 22:09:15 +00:00
daniel
2d925677e5 + Dw switch now does something. 1999-09-15 20:24:56 +00:00
pierre
aaba6f160a * powerpc default was alpha !! 1999-09-07 15:02:41 +00:00
pierre
96fdcfb1f2 * fix for DLL relocation problems
* external bss vars had wrong stabs for pecoff
  + -WB11000000 to specify default image base, allows to
    load several DLLs with debugging info included
    (relocatable DLL are stripped because the relocation
     of the .Stab section is misplaced by ldw)
1999-08-16 15:35:20 +00:00
Jonas Maebe
ace7ff6983 * all tokens now start with an underscore
* PowerPC compiles!!
1999-08-04 13:02:40 +00:00
florian
ca53eee67e * renamed i386asm and i386base to cpuasm and cpubase 1999-08-04 00:22:34 +00:00
peter
ed8eb13d59 * moved bitmask constants to sets
* some other type/const renamings
1999-08-03 22:02:29 +00:00
florian
1cf1665d73 * the alpha compiler can be compiled now 1999-08-03 17:09:34 +00:00
michael
d8e93dd9fd * changed shortname for linux alpha 1999-08-03 15:52:00 +00:00
michael
eba7f7c4ed + Changes for alpha 1999-08-03 13:50:16 +00:00
michael
20e0eaf145 + Added alpha cpu and linux for alpha os 1999-08-02 23:56:51 +00:00
peter
02576a8279 * merged 1999-07-10 10:26:18 +00:00
peter
f236eae910 * 2mb again for go32v2/v1 1999-06-08 11:50:28 +00:00
peter
2cba1b9c76 * fixed os2 bindcmd which was double 1999-06-02 20:46:39 +00:00
Tomas Hajny
6cf5f41dc7 * fixed my mistake from previously commited version 1999-06-02 14:20:31 +00:00
Tomas Hajny
1af2afef91 * fixed stripping symbols for OS/2 1999-06-02 13:25:34 +00:00
peter
ebee6997a8 * changed heapsize to 256k 1999-05-31 20:34:00 +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
michael
72ea7d5eb0 + changes by thomas hajt 1999-05-18 09:30:10 +00:00
michael
eddb0189b2 + changes by thomas hajt 1999-05-18 09:25:01 +00:00
pierre
587b9d622c * -Csmmm works for win32 but default is set to 32Mb 1999-05-17 13:02:12 +00:00
peter
2e1b024ec9 * released pecoff for win32 as default 1999-05-11 00:44:06 +00:00
peter
4841b4236c * updated messages 1999-05-05 22:21:47 +00:00
peter
6f8985406a * output is more like as 2.9.1
* stabs really working for go32v2
1999-05-05 17:34:29 +00:00
florian
47fd93dfa5 * more fixes to get it with delphi running 1999-05-05 09:19:03 +00:00
peter
0949d360c2 * no ar.exe running field in target_asm 1999-05-03 18:03:28 +00:00
peter
adda83dac6 * moved section names to systems
* fixed nasm,intel writer
1999-05-02 22:41:46 +00:00
peter
5d5ec788e7 * win32 pecoff disabled because it's still not ok 1999-05-01 14:18:12 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
6a802e85d7 * released valintern
+ deffile is now removed when compiling is finished
  * ^( compiles now correct
  + static directive
  * shrd fixed
1999-03-26 00:05:26 +00:00
peter
d0cb5a147a * fixed bugs 212,222,225,227,229,231,233 1999-03-24 23:16:42 +00:00
pierre
07da08426d * pecoff default assem for win32 with ag386bin 1999-03-09 11:54:09 +00:00
pierre
58bfc3ac78 * some m68k fixes (still not compilable !)
* new(tobj) does not give warning if tobj has no VMT !
1999-03-04 13:55:39 +00:00
pierre
c9285162a1 + stabs info corrected to give results near to GAS output
* local labels (with .L are not stored in object anymore)
    so we get the same number of symbols as from GAS !
1999-03-03 11:41:51 +00:00
peter
a17c03cca3 * assembler writers fixed for ag386bin 1999-02-26 00:48:13 +00:00
peter
c8f444b65f * ag386bin updates
+ coff writer
1999-02-25 21:02:16 +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
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
florian
b9968f4a43 + some stuff for the new code generator 1999-01-06 22:58:47 +00:00
peter
c7637424cf + resource file handling ($R directive) for Win32 1998-12-28 23:26:14 +00:00
peter
02904d8319 + -iSO, -iSP, -iTO, -iTP 1998-12-15 10:23:23 +00:00
peter
37c2997e50 * target_os.use_bound_instruction boolean 1998-12-03 10:17:32 +00:00
pierre
a1f1003555 * some range check bugs fixed (still not working !)
+ added DLL writing support for win32 (also accepts variables)
  + TempAnsi for code that could be used for Temporary ansi strings
    handling
1998-11-30 09:42:52 +00:00
peter
752857f403 * tp7 didn't like my ifopt H+ :( 1998-11-16 15:41:39 +00:00
peter
d626ddb757 * fixed for H+ compilation 1998-11-16 10:17:09 +00:00
pierre
c7167e92ff + added options -lS and -lT for source and target os output
(to have a easier way to test OS_SOURCE abd OS_TARGET in makefiles)
  * several problems with rtti data
    (type of sym was not checked)
    assumed to be varsym when they could be procsym or property syms !!
1998-10-26 14:19:28 +00:00
pierre
1a77339355 * several memory corruptions due to double freemem solved
=> never use p^.loc.location:=p^.left^.loc.location;
  + finally I added now by default
    that ra386dir translates global and unit symbols
  + added a first field in tsymtable and
    a nextsym field in tsym
    (this allows to obtain ordered type info for
    records and objects in gdb !)
1998-10-20 08:06:37 +00:00
peter
acf9818648 + target_os.stackalignment
+ stack can be aligned at 2 or 4 byte boundaries
1998-10-16 08:51:45 +00:00
peter
c6593ec44e * removed uses verbose which is not possible! this unit may not use
any other unit !
1998-10-15 16:20:41 +00:00
florian
6155ef488c * emitpushreferenceaddress gets now the asmlist as parameter
* m68k version compiles with -duseansistrings
1998-10-14 11:28:13 +00:00
pierre
e619803966 * following Peters remark, removed all ifdef in
the systems unit enums
  * last bugs of cg68k removed for sysamiga
    (sysamiga assembles with as68k !!)
1998-10-14 08:08:52 +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
bede68c06e * assembler type output command line was case sensitive 1998-10-13 09:13:09 +00:00