Commit Graph

39 Commits

Author SHA1 Message Date
Jonas Maebe
18eb495d0f * give a regular error message instead of an internal error on x86
when using non-PIC references in assembler code when the compiler
    is configured to generate PIC code (on ppc, sparc and arm, no
    error message is given at all currently)

git-svn-id: trunk@9364 -
2007-12-01 11:28:15 +00:00
Jonas Maebe
8bcb6e689d * only check validity of assembler instructions in pass_2, after all
local operands have been resolved (mantis #8950)

git-svn-id: trunk@7516 -
2007-05-29 16:53:28 +00:00
pierre
f07349a774 * force S_IQ size for movq instruction, needed for nasm
git-svn-id: trunk@6835 -
2007-03-13 23:17:09 +00:00
pierre
fc66d46beb + added several warnings about use of references
involving (%ebp) or (%esp) in assembler code.
   Useful to track code that might suffer from regcall
   convention.

git-svn-id: trunk@5736 -
2006-12-29 09:37:15 +00:00
florian
85d63d9fa9 * settings refactored
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
5de217f04c * movzx reference size fallback to byte for delphi mode
git-svn-id: trunk@4768 -
2006-10-02 17:33:52 +00:00
florian
4c9a08b12b * more x86_64 assembler support, rtl compilation works, executables don't work yet
git-svn-id: trunk@3038 -
2006-03-26 09:38:05 +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
eb725d4e44 Merged revisions 2908,2911,2913-2917 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2908 | peter | 2006-03-13 13:35:48 +0100 (Mon, 13 Mar 2006) | 2 lines

  * merge trunk upto r2907

........
r2911 | peter | 2006-03-13 18:08:00 +0100 (Mon, 13 Mar 2006) | 2 lines

  * rename values to make room for operand size codes

........
........
........
r2915 | peter | 2006-03-14 13:51:35 +0100 (Tue, 14 Mar 2006) | 2 lines

  * check aktcputype

........
r2916 | peter | 2006-03-14 15:06:32 +0100 (Tue, 14 Mar 2006) | 3 lines

  * merge 300 opcodes
  * more 64bit versions of opcodes

........
r2917 | peter | 2006-03-14 17:34:03 +0100 (Tue, 14 Mar 2006) | 3 lines

  * x86_64 tables
  * convert movq with normal registers to mov

........

git-svn-id: trunk@2931 -
2006-03-16 08:09:28 +00:00
peter
fdc4925fcd * basic framework for debuginfo class added
git-svn-id: trunk@1084 -
2005-09-15 08:34:51 +00:00
daniel
338d4fbe99 * Fix two issues with internal assembler
git-svn-id: trunk@614 -
2005-07-10 18:10:21 +00:00
daniel
3f03e67e48 * Jcc now also doesn't need operand size
git-svn-id: trunk@612 -
2005-07-10 14:07:27 +00:00
daniel
51e0368aa5 * Improve automatic adding of operand size.
git-svn-id: trunk@611 -
2005-07-10 14:03:35 +00:00
daniel
86da715b86 * Internal assembler refuses instructions with constant operand but
without opsize.
  * Opsize added for int,ret,push by assembler reader if not specified
    by programmer.

git-svn-id: trunk@608 -
2005-07-10 09:55:59 +00:00
daniel
45bcc5b07a * Add support for jmp $0011:$22334455 to Intel asm reader, request from
a user that is writing an operating system.
  * Fix mkx86ins bug to interpret imm16:imm32 as a single operand

git-svn-id: trunk@606 -
2005-07-10 07:42: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
c95a859f0a * generic tlocation
* move tlocation to cgutils
2004-10-31 21:45:02 +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
d42f4af064 * give warning that DWORD is used as size in delphi mode when no
size was specified
2004-01-22 16:29:11 +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
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
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
96f9973b46 * taicpu_abstract.oper[] changed to pointers 2003-10-21 15:15:35 +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
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
peter
d5a6a5b7f9 * fix wrong registers in reference 2003-08-26 12:42:45 +00:00
pierre
c80bd4565d * fix a bug preventing correct reading of intel 'mov [edi],al' 2003-06-20 12:57:15 +00:00
peter
7363a7d605 * 32bit operands need ofcourse 32bit size 2003-06-07 10:23:50 +00:00
peter
9cafe9c315 * fixed opsize and operand size setting for 64bit values 2003-05-31 16:22:28 +00:00
peter
414bd5fa22 * more sparc cleanup
* accumulator removed, splitted in function_return_reg (called) and
    function_result_reg (caller)
2003-05-30 23:57:08 +00:00
peter
437ce7f8a2 * removed some unit dependencies 2003-05-22 21:32:28 +00:00
florian
de6916276a * merged more x86-64/i386 code 2003-04-30 15:45:35 +00:00