nickysn
b67fea70bd
+ write a MODEND (end of module) record at the end of the omf file
...
git-svn-id: trunk@30454 -
2015-04-05 22:42:26 +00:00
nickysn
c59855b5e7
+ start writing actual section content (without fixups and probably still buggy)
...
in the OMF object writer
* give proper section names (like in the NASM asm writer) for the OMF object
writer
git-svn-id: trunk@30452 -
2015-04-05 21:39:02 +00:00
florian
9ab9e03650
* limit number of possible units with initialization/finalization for a certain architecture to high(aint)
...
+ give an error if the number of possible units is exceeded
git-svn-id: trunk@30450 -
2015-04-05 21:06:58 +00:00
florian
b684719f1e
+ give an error if allocated temps. overflow the normally max. available space
...
git-svn-id: trunk@30449 -
2015-04-05 20:59:34 +00:00
nickysn
444b63cf07
+ added class for reading/writing a FIXUP subrecord in a FIXUPP omf record
...
git-svn-id: trunk@30448 -
2015-04-05 19:57:41 +00:00
florian
1114089d25
* IsJumpToLabel checks number of operands
...
* add a few safety checks
git-svn-id: trunk@30446 -
2015-04-05 19:24:22 +00:00
florian
02d9c676d3
* make offsets passed to tconst of type asizeint instead of aint
...
git-svn-id: trunk@30445 -
2015-04-05 19:18:52 +00:00
florian
63bf17440c
* use volatile registers first
...
* fix some range check errors
git-svn-id: trunk@30444 -
2015-04-05 19:17:24 +00:00
florian
db63693b7e
* tai returned by GetNextInstructionUsingReg must be checked if it is really an instruction
...
git-svn-id: trunk@30443 -
2015-04-05 19:12:43 +00:00
florian
2b9c0ef3b4
- jmp_instructions shouldn't include call/ret instructions
...
git-svn-id: trunk@30442 -
2015-04-05 19:11:40 +00:00
florian
73c0422997
+ create defines for CPU ALU size
...
git-svn-id: trunk@30441 -
2015-04-05 19:09:28 +00:00
florian
2daae5ff03
* moved comment so it is recognized by lazarus as a method description
...
git-svn-id: trunk@30439 -
2015-04-05 19:08:00 +00:00
florian
31709b1b43
* check registers of ait_regalloc for a valid color when translating and compiling with -dextdebug
...
git-svn-id: trunk@30438 -
2015-04-05 19:06:06 +00:00
nickysn
25411c3871
+ added omf fixup related enums
...
git-svn-id: trunk@30436 -
2015-04-05 14:50:59 +00:00
Jonas Maebe
94aadb23ab
+ implemented getintparaloc() for llvm
...
git-svn-id: trunk@30430 -
2015-04-04 14:29:19 +00:00
Jonas Maebe
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
...
git-svn-id: trunk@30429 -
2015-04-04 14:29:16 +00:00
Jonas Maebe
2336d22985
* override instr_get_oper_spilling_info and substitute_spilled_registers for
...
llvm (add support for top_para)
git-svn-id: trunk@30428 -
2015-04-04 14:29:12 +00:00
Jonas Maebe
9d4c8f68d4
* fixed first_fpu_immreg definition
...
git-svn-id: trunk@30427 -
2015-04-04 14:29:09 +00:00
Jonas Maebe
e12dff9a5e
* support top_para in trgllvm.get_spill_temp()
...
git-svn-id: trunk@30426 -
2015-04-04 14:29:06 +00:00
Jonas Maebe
e750678f37
* factored out spilling code that deals with operand types into virtual
...
methods so they can be overridden by platform-specific variants
for platform-specific operand types
git-svn-id: trunk@30425 -
2015-04-04 14:29:03 +00:00
Jonas Maebe
ee7198aa57
* fixed memory leak in case one tai operand is replaced by another
...
git-svn-id: trunk@30424 -
2015-04-04 14:29:00 +00:00
Jonas Maebe
3279cc052a
* moved llvm-specific code from aasmtai to aasmllvm
...
* call add_reg_instruction_hook() for top_para parameters
git-svn-id: trunk@30423 -
2015-04-04 14:28:57 +00:00
Jonas Maebe
2ef753faae
* support llvm spilling_get_reg_type() for the destination of call/invoke
...
git-svn-id: trunk@30422 -
2015-04-04 14:28:54 +00:00
nickysn
7f4c2c0cc2
* added missing 'private' declaration to TOmfRecord_SEGDEF
...
git-svn-id: trunk@30420 -
2015-04-04 12:48:05 +00:00
Jeppe Johansen
e2272c8a7e
Added aitconst_gs for AVR pointer references to Flash.
...
git-svn-id: trunk@30419 -
2015-04-04 10:29:11 +00:00
nickysn
ef9c15c165
+ write link pass 1 separator to omf obj output
...
git-svn-id: trunk@30415 -
2015-04-04 00:14:34 +00:00
nickysn
4fc55f97fc
* refactored adding groups to use a method with an 'array of const' parameter
...
git-svn-id: trunk@30414 -
2015-04-03 23:45:43 +00:00
nickysn
1521f88a9d
* fixed off by one error when writing a GRPDEF record
...
git-svn-id: trunk@30413 -
2015-04-03 22:56:49 +00:00
nickysn
a9f10f60eb
+ write the dgroup GRPDEF record
...
git-svn-id: trunk@30412 -
2015-04-03 22:56:09 +00:00
nickysn
a84537dd9b
+ create the default segments and write them in the OMF object file
...
git-svn-id: trunk@30411 -
2015-04-03 22:33:45 +00:00
nickysn
56621e6ee1
+ added class for writing GRPDEF omf records
...
git-svn-id: trunk@30410 -
2015-04-03 21:58:02 +00:00
nickysn
7c90285af1
* improved record length checking in the SEGDEF omf record parsing
...
git-svn-id: trunk@30409 -
2015-04-03 00:12:16 +00:00
nickysn
28d8e915b7
+ implemented parsing of SEGDEF omf records as well
...
git-svn-id: trunk@30408 -
2015-04-02 23:59:45 +00:00
nickysn
f380d67575
- rm unused var
...
git-svn-id: trunk@30407 -
2015-04-02 23:49:36 +00:00
nickysn
65212e7a34
+ added class for encoding a SEGDEF(32) omf record
...
git-svn-id: trunk@30406 -
2015-04-02 23:05:02 +00:00
Jeppe Johansen
7f34ab27d2
Fixed issue with COFF linker. The addend wasn't shifted up by four before being added.
...
git-svn-id: trunk@30405 -
2015-04-02 22:06:14 +00:00
nickysn
1a3bd5fde1
+ added enums for OMF segment alignment and combination
...
git-svn-id: trunk@30404 -
2015-04-02 20:20:47 +00:00
Jeppe Johansen
a3fd3ee3ab
Fixed bug in ARM coff writer. Relocations just ORed the offset onto the instruction instead of adding, but they are emitted as bl 0xFFFFFE, and not bl 0x0.
...
git-svn-id: trunk@30403 -
2015-04-02 18:28:42 +00:00
Jonas Maebe
197e5194b9
* don't crash if we have to spill a register of the last instruction in an
...
asmlist
git-svn-id: trunk@30402 -
2015-04-01 15:43:10 +00:00
Jonas Maebe
7b4bf9cc33
* fixed comment for emit_ansi/unicodestring_const() after changing those
...
class methods into instance methods
git-svn-id: trunk@30401 -
2015-04-01 15:43:07 +00:00
nickysn
72bfe8d2c4
+ implemented writing of the LNAMES omf record(s)
...
git-svn-id: trunk@30398 -
2015-03-31 23:46:15 +00:00
nickysn
e4c612611f
+ added class (and constants) for handling OMF COMENT records. Write a COMENT
...
"Translator" record with the FPC version immediately after the header in the
omf internal object writer.
git-svn-id: trunk@30396 -
2015-03-30 23:38:28 +00:00
nickysn
70577a55f3
+ write the omf header in the omf binary writer
...
git-svn-id: trunk@30395 -
2015-03-30 22:44:58 +00:00
nickysn
ae44d240a3
* updated ppc8086.lpi with the latest compiler source files
...
git-svn-id: trunk@30394 -
2015-03-30 21:02:54 +00:00
Jeppe Johansen
8c105d4c97
Fix off by 8 error.
...
git-svn-id: trunk@30393 -
2015-03-30 12:03:18 +00:00
Jeppe Johansen
7fe4b13248
Fix broken peephole optimization that was testing the wrong register for modifications.
...
Fix tests on unsigned values. The flags were swapped.
git-svn-id: trunk@30392 -
2015-03-30 11:17:38 +00:00
nickysn
9c52c98b77
* use default_settings.packrecords, instead of 0 (since that's different for
...
i8086) for the packrecords parameter of begin_anonymous_record in
intf_write_table. This fixes interfaces in i8086 far code or data memory
models.
git-svn-id: trunk@30389 -
2015-03-30 01:39:47 +00:00
florian
1f93c3aaa1
* get memory sizes on avr-embedded from controller info records
...
git-svn-id: trunk@30387 -
2015-03-29 21:41:52 +00:00
florian
dfd4d3656b
+ avrsim controller target requiring a special avr simulator with a certain memory location handling, see avrsim.pp controller helper unit for what it is needed
...
git-svn-id: trunk@30385 -
2015-03-29 21:13:36 +00:00
florian
b07ba5786b
* updated errord(u).msg files by Karl-Michael Schindler, resolves #27725
...
git-svn-id: trunk@30382 -
2015-03-29 20:02:06 +00:00