nickysn
8515160e9d
+ set CObjData in the TMZExeOutput constructor
...
git-svn-id: trunk@30866 -
2015-05-15 22:35:32 +00:00
nickysn
27f77329e7
- removed agjasmin.pas from the ppc8086.lpi (plus other changes lazarus insists on doing)
...
git-svn-id: trunk@30865 -
2015-05-15 22:27:35 +00:00
nickysn
29a1c74e34
+ implemented TOmfObjInput.CanReadObjData
...
git-svn-id: trunk@30864 -
2015-05-15 22:23:30 +00:00
nickysn
91d3cb1cd0
+ initial implementation of TInternalLinkerMsDos.DefaultLinkScript
...
git-svn-id: trunk@30863 -
2015-05-15 22:22:36 +00:00
Jonas Maebe
ac592ed634
- removed some more unnecessary code after r30855
...
git-svn-id: trunk@30857 -
2015-05-14 17:44:37 +00:00
Jonas Maebe
bd8079f896
* cache and reuse procvardefs internally created to get the address of a
...
procdef (halves the amount of memory needed to compile the googlapi
package using a build unit, as done by fpmake)
git-svn-id: trunk@30856 -
2015-05-14 15:36:20 +00:00
Jonas Maebe
801fc50e86
* simplified "case stringexpr of" handling and removed memory leaks due to
...
symbols that weren't put in any symbol table (and that couldn't be put
anywhere, since they all had the same name)
git-svn-id: trunk@30855 -
2015-05-14 14:42:38 +00:00
Jonas Maebe
32501834c9
* fixed memory leaks due to missing frees of temporary tcgpara locations
...
git-svn-id: trunk@30854 -
2015-05-14 14:42:35 +00:00
Jonas Maebe
ce49f5fb41
* fixed memory leak due to double allocation of typedconstbuilder and wrong
...
free location
git-svn-id: trunk@30853 -
2015-05-14 14:42:32 +00:00
Jonas Maebe
d7412fb5c0
* fixed memory leaks and multiple recalculation regarding function result
...
locations
git-svn-id: trunk@30852 -
2015-05-14 14:42:28 +00:00
Jonas Maebe
9ceddf9b16
* fix tasmlisttypedconstbuilder memory leaks
...
git-svn-id: trunk@30851 -
2015-05-14 14:42:25 +00:00
Jonas Maebe
93fcdb9a5a
* fixed initialisation of procvar typed const with a pointerconstn:
...
we start a typeconversion queue before, so we have to emit to that
queue as well (to get all the type conversions)
git-svn-id: trunk@30850 -
2015-05-14 14:42:22 +00:00
Jonas Maebe
d71f6e9840
- removed extraneous maybe_begin_aggregate() when a procvar is initialised
...
with a pointerconstn, and moved the maybe_end_aggregate() for all procvar
initialisation cases to a common location
git-svn-id: trunk@30849 -
2015-05-14 14:42:19 +00:00
Jonas Maebe
1e7fcec236
* build mka64ins by default in the compiler/utils directory (patch by
...
Edmund Grimley Evans)
git-svn-id: trunk@30848 -
2015-05-14 14:42:15 +00:00
Jonas Maebe
585e4a9a14
* corrected cosmetic ARM/AArch64 copy/paste leftovers (patch by
...
Edmund Grimley Evans)
git-svn-id: trunk@30847 -
2015-05-14 14:42:12 +00:00
Jonas Maebe
7395058cf3
* recognise tb(n)z as branch opcode (patch by Edmund Grimley Evans)
...
git-svn-id: trunk@30846 -
2015-05-14 14:42:03 +00:00
Jonas Maebe
edceff5756
* moved Jasmin assembler writer to jvm backend directory
...
git-svn-id: trunk@30838 -
2015-05-09 17:25:18 +00:00
Jonas Maebe
95b900911c
- removed outdated script
...
git-svn-id: trunk@30837 -
2015-05-09 17:25:14 +00:00
Jonas Maebe
a04cae2c4b
- removed partial Alpha, IA64 and vis backends since they were never nor
...
will likely ever be finished
git-svn-id: trunk@30836 -
2015-05-09 17:25:11 +00:00
Jonas Maebe
1b43930749
- removed long deprecated/buggy assembler cse optimiser for i386
...
o bumped ppu version because optimiser settings can be embedded in generic
token streams
git-svn-id: trunk@30835 -
2015-05-09 17:25:07 +00:00
nickysn
3b288554e7
+ more msdos internal linker classes added
...
git-svn-id: trunk@30811 -
2015-05-06 14:49:07 +00:00
nickysn
93ec811c97
+ created the msdos internal linker class (empty for now)
...
git-svn-id: trunk@30810 -
2015-05-06 13:45:39 +00:00
nickysn
ced1368221
* fixed emitting of RELOC_SEG and RELOC_SEGREL relocations within the same
...
section in the omf internal obj writer
git-svn-id: trunk@30809 -
2015-05-06 10:40:38 +00:00
nickysn
328a4fa19a
+ optimization: don't emit relative relocation entries to the same section in
...
the omf obj writer
git-svn-id: trunk@30808 -
2015-05-06 10:05:15 +00:00
nickysn
b17087a645
- removed debug writelns after r30800
...
git-svn-id: trunk@30802 -
2015-05-04 17:13:17 +00:00
nickysn
f1252d7582
- removed unnecessary setting of TargetMethod and TargetDatum (since these are
...
always set in the following 'if' statement) in TOmfRelocation.BuildOmfFixup
git-svn-id: trunk@30801 -
2015-05-04 17:11:02 +00:00
nickysn
0da38dbc79
+ implemented support for the 'dgroup' (addr_dgroup) relocation type in the omf
...
internal object writer
git-svn-id: trunk@30800 -
2015-05-04 17:07:19 +00:00
nickysn
37840bc811
- removed commented out debug code from TOmfObjData.writeReloc
...
git-svn-id: trunk@30799 -
2015-05-04 16:24:28 +00:00
Jonas Maebe
6e5af0b31e
* don't replace classrefdef with i64 in parameter locations (so llvm can use
...
the type information)
git-svn-id: trunk@30787 -
2015-05-03 16:51:23 +00:00
Jonas Maebe
fb8c61889b
* when getting a copy of a special procdef (such as a con/destructor) as a
...
procvardef, change the proctype into a regular procedure/function,
because there are no "con/destructor procvar" types and there is code
in the paramanager that expects e.g. a constructor to be always owned by an
abstractrecorddef (which is not necessarily the case for the created
procvardefs)
git-svn-id: trunk@30786 -
2015-05-03 16:51:20 +00:00
Jonas Maebe
582aee4d90
* fixed the type of FPC_EMPTYCHAR when referencing it
...
git-svn-id: trunk@30785 -
2015-05-03 16:51:16 +00:00
Jonas Maebe
8034ef1f31
* support for dynamic strings and arrays in update_reference_reg_mul()
...
git-svn-id: trunk@30784 -
2015-05-03 16:51:13 +00:00
Jonas Maebe
eae68e86a1
* don't insert a typeconversion from pasbool to int in case the left
...
location was LOC_JUMP or LOC_FLAGS, as in that case the generic
code has already done this using location_force_reg()
git-svn-id: trunk@30783 -
2015-05-03 16:51:10 +00:00
Jonas Maebe
8f1fb60f61
* also collect the llvm type info from the initialisation data of typed
...
constants
git-svn-id: trunk@30782 -
2015-05-03 16:51:06 +00:00
Jonas Maebe
74da8720c5
* insert type conversions in case a symbol is declared via 'external' as an
...
alias for another symbol with a different type (such as
FPC_ANSISTR_UNIQUE, which is defined as a function and referenced as a
procedure)
git-svn-id: trunk@30781 -
2015-05-03 16:51:02 +00:00
Jonas Maebe
65bcfdc42d
* support changing the tai field of a tai_simpletypedconst afterwards,
...
so we can insert type conversions in llvmtype if necessary
git-svn-id: trunk@30780 -
2015-05-03 16:50:58 +00:00
Jonas Maebe
d546e74d1c
* don't write newlines after nested taillvm instructions (since they're
...
embedded in the middle of another instruction)
git-svn-id: trunk@30779 -
2015-05-03 16:50:55 +00:00
Jonas Maebe
4a5b7b7d50
* once we've defined a symbol as an alias, it's declared to the same extent
...
as a regular symbol definition
git-svn-id: trunk@30778 -
2015-05-03 16:50:51 +00:00
Jonas Maebe
8234fcd229
* implemented thlcgllvm.g_external_wrapper by just declaring the new symbol
...
as an alias for the old one (rather than creating an interprocedural
jump, which is not possible in llvm IR and which is less efficient
anyway) (declaration for this method was already accidentally committed
in r30722)
git-svn-id: trunk@30777 -
2015-05-03 16:50:47 +00:00
Jonas Maebe
72277f5098
* store the used tabstractprocdef when generating an llvm call instruction,
...
because due to aliasing symbols a single symbol may be called using
different procdefs (e.g. FPC_ANSISTR_UNIQUE in the system unit is defined
as an alias for a function and called as a procedure). This means we have
to insert extra type conversions for llvm, which requires both the source
and destination type
git-svn-id: trunk@30776 -
2015-05-03 16:50:43 +00:00
Jeppe Johansen
6662cb6dd5
ARMv6M was missing alignments for jumptables
...
git-svn-id: trunk@30775 -
2015-05-03 16:16:32 +00:00
nickysn
7849ffecf7
+ implemented TOmfLibObjectReader.openfile
...
git-svn-id: trunk@30773 -
2015-05-03 10:56:09 +00:00
nickysn
3b56a5a767
+ implemented reading of the omf dictionary
...
git-svn-id: trunk@30772 -
2015-05-03 10:27:56 +00:00
florian
f5edf77a05
+ Atmega8 support
...
git-svn-id: trunk@30768 -
2015-05-02 18:18:00 +00:00
florian
9f587625e7
+ handle not and neg in isFoldableArithOp as well
...
git-svn-id: trunk@30767 -
2015-05-02 17:20:20 +00:00
florian
b222d0b663
* correctly handle LOC_SUBSETREG,LOC_CSUBSETREG,LOC_SUBSETREF,LOC_CSUBSETREF in second_int_to_bool, resolves issue #28007
...
git-svn-id: trunk@30765 -
2015-05-02 13:52:50 +00:00
florian
f2a5672355
* Update of German error message files by Karl-Michael Schindler, resolves issue #28010
...
git-svn-id: trunk@30763 -
2015-05-02 13:34:03 +00:00
nickysn
74c74b6a88
* call ArSymbols.Free instead of .Destroy in the tarobjectreader destructor
...
(because .destroy will cause a crash in case the object hasn't been
initialized)
git-svn-id: trunk@30762 -
2015-05-02 10:50:29 +00:00
nickysn
5160c8f0a3
+ started the omf library object reader
...
git-svn-id: trunk@30761 -
2015-05-02 10:32:08 +00:00
florian
9a5b458d4e
* allocate registers properly before icall
...
* use emit_mov to load registers before icall
git-svn-id: trunk@30758 -
2015-05-02 08:02:17 +00:00