Jonas Maebe
a8db5e3dfb
* fixed alignment of widestring on win64 after llvm branch merge (should use
...
packrecords 4) (mantis #27806 )
git-svn-id: trunk@30501 -
2015-04-08 19:08:43 +00:00
Jonas Maebe
6391794958
* fixed -Oodfa warnings
...
git-svn-id: trunk@30500 -
2015-04-08 19:08:39 +00:00
Jonas Maebe
af61923dc3
* don't write parameter attributes in procvardefs
...
git-svn-id: trunk@30499 -
2015-04-08 19:08:36 +00:00
Jonas Maebe
a8cefa8fcd
- removed aggas.pas leftovers
...
git-svn-id: trunk@30498 -
2015-04-08 19:08:33 +00:00
Jonas Maebe
a674804869
* made fpc_setjmp() code generic and fixed it for llvm
...
git-svn-id: trunk@30497 -
2015-04-08 19:08:30 +00:00
nickysn
23b95cc291
+ added classes for writing EXTDEF omf records
...
git-svn-id: trunk@30496 -
2015-04-08 14:13:35 +00:00
nickysn
470fb65e80
+ implemented aasmcpu.process_ea for i8086
...
git-svn-id: trunk@30495 -
2015-04-08 12:54:09 +00:00
nickysn
76da1db832
+ write all the public symbols in a PUBDEF record in the omf obj writer
...
git-svn-id: trunk@30492 -
2015-04-07 23:03:48 +00:00
nickysn
fb45d5e11b
* fixed some off-by-1 errors in TOmfRecord_PUBDEF.EncodeTo
...
git-svn-id: trunk@30491 -
2015-04-07 23:02:32 +00:00
nickysn
c4a8f22bc9
+ added classes for writing PUBDEF omf records
...
git-svn-id: trunk@30490 -
2015-04-07 22:18:46 +00:00
nickysn
35e008e44b
* TOmfRelocation modified to build the omf FIXUP subrecord later, during
...
writeData, when the ObjSection indexes are available; now we fill the proper
section/segment indexes, instead of hardcoded values.
git-svn-id: trunk@30489 -
2015-04-07 20:40:40 +00:00
nickysn
9e701454c6
+ add group "dgroup", this time built from the ObjSectionList, instead of hardcoded
...
git-svn-id: trunk@30488 -
2015-04-07 19:53:08 +00:00
Jonas Maebe
101fc3d4ec
* translate formaldef into "i8*", as intended, instead of "i8**" due to
...
the fact that this type is always passed by reference
git-svn-id: trunk@30486 -
2015-04-07 19:35:22 +00:00
Jonas Maebe
f94f9f44e4
* convert all arguments to integers in case of comparisons of pointers with
...
constants on llvm, as you can only compare with "null" in that case
* convert all arguments to integers in case of pointer subtractions,
as pointer subtractions are not supported by llvm
git-svn-id: trunk@30485 -
2015-04-07 19:35:08 +00:00
nickysn
068e3d93c7
* fixed warnings during compilation of an i8086 cross compiler
...
git-svn-id: trunk@30481 -
2015-04-07 09:33:22 +00:00
nickysn
13ed542f0c
+ also fill the "size" field in the SEGDEF records
...
git-svn-id: trunk@30480 -
2015-04-07 01:38:55 +00:00
nickysn
a0aa85f372
+ also fill "overlay name" in the SEGDEF records
...
git-svn-id: trunk@30479 -
2015-04-07 01:35:25 +00:00
nickysn
293ffda788
* build the list of SEGDEF records from the ObjSectionList, instead of using a
...
hardcoded list. Creation of dgroup temporarily disabled.
git-svn-id: trunk@30478 -
2015-04-07 01:33:11 +00:00
nickysn
1d236e8386
+ count omf sections and set their index starting with 1
...
git-svn-id: trunk@30477 -
2015-04-07 01:07:42 +00:00
nickysn
e87148c425
+ added property PrimaryGroup to TOmfObjSection; fill it with 'dgroup' if
...
section belongs to the group dgroup in the current memory model
git-svn-id: trunk@30476 -
2015-04-07 00:11:56 +00:00
nickysn
c7af648d69
+ added omf-specific properties to TOmfObjSection and fill them in the constructor
...
git-svn-id: trunk@30475 -
2015-04-06 23:48:39 +00:00
nickysn
38f8a942e2
+ added descendant class TOmfObjSection (empty for now) for storing omf sections' extra data
...
git-svn-id: trunk@30474 -
2015-04-06 23:26:52 +00:00
nickysn
a1bc36ab56
+ TOmfObjData.writeReloc: write the actual offset of the symbol in the section data
...
git-svn-id: trunk@30473 -
2015-04-06 21:43:06 +00:00
nickysn
6a7fff644a
* align non-code sections with zeros, instead of nops in the nasm asm output
...
writer, so they match the behaviour of the internal object writer (so it
becomes easier to compare to the binary output of the omf object writer)
git-svn-id: trunk@30472 -
2015-04-06 20:30:06 +00:00
Jonas Maebe
5d8483185f
* silence another warning from r30449
...
git-svn-id: trunk@30469 -
2015-04-06 16:42:27 +00:00
Jonas Maebe
640efba580
* fixed warnings after r30449/r30450
...
git-svn-id: trunk@30466 -
2015-04-06 14:24:09 +00:00
Jonas Maebe
b403a8c3fd
* fixed ppu dump for objc categories
...
git-svn-id: trunk@30465 -
2015-04-06 14:05:39 +00:00
Jonas Maebe
f6b03b2912
* updated ppudump for changes in ppu version 174
...
git-svn-id: trunk@30464 -
2015-04-06 14:05:36 +00:00
nickysn
877a769ac3
+ support align directive with a given use_op/fillop in the NASM asm writer
...
git-svn-id: trunk@30459 -
2015-04-06 01:03:22 +00:00
nickysn
824bfd961b
+ very early (and incomplete/broken) implementation of FIXUPP records in the omf
...
object writer
git-svn-id: trunk@30458 -
2015-04-06 00:34:28 +00:00
nickysn
3840db5457
* handle aitconst_farptr with a constant (nil) directly in the internal asm
...
writer, without calling writereloc
git-svn-id: trunk@30457 -
2015-04-05 23:56:23 +00:00
nickysn
393b9b54a8
+ handle aitconst_farptr in the internal asm writer as a new relocation type (RELOC_FARPTR)
...
git-svn-id: trunk@30456 -
2015-04-05 23:43:37 +00:00
nickysn
1c5d0ed09a
+ support aitconst_farptr in tai_const.size
...
git-svn-id: trunk@30455 -
2015-04-05 23:33:41 +00:00
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