Jonas Maebe
4f38317bd2
* fixed small linker script syntax error in r31459
...
git-svn-id: trunk@31460 -
2015-08-30 15:45:57 +00:00
Jonas Maebe
6d29ad44f7
* always use a minimal linker script when we are not using -T, so that the
...
chance of conflicts with the built-in linkerscript is minimised
o removed special case for AArch64 which that already
o check the diff without whitespace changes, most is indentation
git-svn-id: trunk@31459 -
2015-08-30 15:25:44 +00:00
Jonas Maebe
c27807ee63
* resolve formal/anonymous external classes before comparing parameters to
...
overloaded routines
git-svn-id: trunk@31458 -
2015-08-30 14:33:01 +00:00
Jonas Maebe
e720b44471
* expand the error message for when trying to use a formal class with an
...
explanation of what to do
git-svn-id: trunk@31457 -
2015-08-30 14:32:56 +00:00
Jonas Maebe
32c3f05522
+ peepholeoptimizations to remove swap instructions
...
git-svn-id: trunk@31456 -
2015-08-29 21:06:29 +00:00
Jonas Maebe
dde8e323e0
* insert swap instructions if it results in store/regdealloc/load
...
sequences
git-svn-id: trunk@31455 -
2015-08-29 21:06:26 +00:00
Jonas Maebe
51864b0458
* skip temp (de)allocs when looking for store/regdealloc/load and
...
regalloc/regdealloc sequences
git-svn-id: trunk@31454 -
2015-08-29 21:06:23 +00:00
Jonas Maebe
cd83bc35b6
* protect the -FM switch with "#ifndef VER2", to ensure that fpc.cfg can
...
be shared between FPC 2.x and FPC 3.x+
git-svn-id: trunk@31453 -
2015-08-29 15:54:25 +00:00
marco
3f1ad78fc2
* add t/psockaddr6 type aliases to sockets unit, mantis #28566
...
git-svn-id: trunk@31452 -
2015-08-29 15:45:02 +00:00
Jonas Maebe
6bb430e97c
* also use the ARM/EABI linker script when targeting armhf
...
git-svn-id: trunk@31451 -
2015-08-29 13:00:03 +00:00
Jonas Maebe
882421a3ad
* also use -T when cross-compiling a shared library using a sysroot on
...
Linux (we want to replace the entire built-in linker script in that case)
git-svn-id: trunk@31450 -
2015-08-29 12:26:12 +00:00
Jonas Maebe
e391a37b30
* add the sysrootpath to the path of the dynamic linker in the INPUT()
...
section for Linux
git-svn-id: trunk@31449 -
2015-08-29 12:26:08 +00:00
Jonas Maebe
8c8657e2d5
* base optimiser support for the JVM target
...
o jump threading only works for unconditional branches until now,
as conditional ones have limited offsets
git-svn-id: trunk@31448 -
2015-08-29 10:08:19 +00:00
Jonas Maebe
c3a7d76c68
* ait_jcatch should not be skipped by optimizers, as it does result in
...
control flow
git-svn-id: trunk@31447 -
2015-08-29 10:08:15 +00:00
Jonas Maebe
3f9f498e0d
- removed leftover alpha, ia64 and vis code
...
git-svn-id: trunk@31446 -
2015-08-28 22:31:29 +00:00
Jonas Maebe
bc62795f15
* removed no longer used simplify_ppu global
...
git-svn-id: trunk@31445 -
2015-08-28 22:31:24 +00:00
Jonas Maebe
21066ba3f3
* changed LinkTypeSetExplicitly from a global variable into a field of toption
...
git-svn-id: trunk@31444 -
2015-08-28 22:31:21 +00:00
Jonas Maebe
0d74e4f719
* changed paratargetdbg from a global variable into a field of toption
...
git-svn-id: trunk@31443 -
2015-08-28 22:31:17 +00:00
Jonas Maebe
84bd523867
* changed paratargetasm from a global variable into a field of toption
...
git-svn-id: trunk@31442 -
2015-08-28 22:31:12 +00:00
Jonas Maebe
13638d958d
* changed paratarget from a global variable into a field of toption
...
git-svn-id: trunk@31441 -
2015-08-28 22:31:08 +00:00
florian
590ec0f3e6
* more procedures excluded to avoid internalerrors on avr after the trgobj.conservative fix
...
git-svn-id: trunk@31440 -
2015-08-28 18:49:07 +00:00
florian
199b1861d6
* fix wrong comparisons in trgobj.conservative to enable better coalescing,
...
before this patch, k was calculated wrong most of the time
git-svn-id: trunk@31439 -
2015-08-28 18:49:04 +00:00
florian
d71a3d0533
* charset depends on the objpas unit
...
git-svn-id: trunk@31438 -
2015-08-28 18:49:02 +00:00
svenbarth
66781b5526
Fix for Mantis #28530 .
...
ptype.pas:
* record_dec: if parse_generic is given set current_genericdef
+ added test
git-svn-id: trunk@31437 -
2015-08-28 15:46:18 +00:00
michael
90a31bef49
* Fix bug #28506
...
git-svn-id: trunk@31436 -
2015-08-28 09:33:56 +00:00
michael
7c5ce9efc6
* Fix bug id #28493
...
git-svn-id: trunk@31435 -
2015-08-28 09:29:08 +00:00
michael
1fd2735198
* Fix for 28578
...
git-svn-id: trunk@31434 -
2015-08-28 08:06:36 +00:00
joost
621c9c357c
* Generate manifest-files for each package while archiving multiple packages
...
git-svn-id: trunk@31433 -
2015-08-27 18:43:45 +00:00
Jonas Maebe
038c647ed2
* updated to r416 of the common Mac OS X interfaces:
...
o fixed an unrecognised conditional that broke iOS compilation
git-svn-id: trunk@31432 -
2015-08-27 18:29:01 +00:00
Jonas Maebe
0fc1fd6ac1
* replaced current_procinfo.currtrue/falselabel with storing the true/false
...
labels of LOC_JUMP in the node's location. This generates some extra jumps
for short circuit boolean and/or-expressions if optimizations are off, but
with optimisations enabled the generated code is the same (except for JVM
because the jump threading optimisation isn't enabled there yet).
git-svn-id: trunk@31431 -
2015-08-27 18:28:57 +00:00
Jonas Maebe
10b2ea3b1b
* use handle_locjump() instead of local inlined version
...
git-svn-id: trunk@31430 -
2015-08-27 18:28:52 +00:00
nickysn
e9c790f4eb
+ support 'SEG' in the i8086 inline assembler
...
git-svn-id: trunk@31428 -
2015-08-26 15:57:44 +00:00
Jonas Maebe
4e0d546323
* Use mbrlen instead of mblen under Haiku like on other Unix like platforms.
...
This fixes the twide3 unit test (patch by Olivier Coursière, mantis #28538 )
git-svn-id: trunk@31427 -
2015-08-25 21:26:05 +00:00
nickysn
919cc8377a
+ added class type property CObjSymbol to TExeOutput as well
...
git-svn-id: trunk@31426 -
2015-08-25 16:07:59 +00:00
nickysn
19aab3fd31
+ i8086-msdos internal linker: write symbol addresses in segment:offset format in the linker map file
...
git-svn-id: trunk@31425 -
2015-08-25 14:48:08 +00:00
nickysn
046a4e4114
* allow using a TObjSymbol subclass via using a "class of" type
...
git-svn-id: trunk@31424 -
2015-08-25 14:32:08 +00:00
nickysn
f41692710f
- removed bogus comment from TMZExeUnifiedLogicalSegment.CalcMemPos
...
git-svn-id: trunk@31423 -
2015-08-25 14:04:51 +00:00
nickysn
2467cb34c2
* fixed MemBasePos calculation for segments that go beyond the previous segment base
...
git-svn-id: trunk@31421 -
2015-08-25 13:06:50 +00:00
nickysn
2c05bcc28f
+ i8086-msdos internal linker: in the far data memory models, fill
...
MaxExtraParagraphs in the MZ exe header according to the specified max heap
size
git-svn-id: trunk@31420 -
2015-08-25 11:40:02 +00:00
nickysn
dad0f015a9
- removed the TOmfObjSectionGroup class, because it is not used
...
git-svn-id: trunk@31419 -
2015-08-25 11:32:30 +00:00
nickysn
5900a7f3db
* updated revision.inc
...
git-svn-id: trunk@31418 -
2015-08-25 11:17:11 +00:00
nickysn
0894ede9cd
+ enable the i8086-msdos internal linker
...
git-svn-id: trunk@31417 -
2015-08-25 01:32:46 +00:00
nickysn
6e20e0fc84
+ added checks and error messages in case a 16-bit segment or group exceeds 64k
...
git-svn-id: trunk@31416 -
2015-08-25 01:01:20 +00:00
nickysn
851ebd9850
* use a normalized MemBasePos (i.e. offset<16) for stack segments
...
git-svn-id: trunk@31415 -
2015-08-25 00:29:02 +00:00
nickysn
f3d5bf3743
* the result of tobjsymbol.address changed from 'aword' to 'qword' as well
...
git-svn-id: trunk@31414 -
2015-08-25 00:19:26 +00:00
nickysn
8977c0fc78
* TExeSection.Size and .DataPos changed from aword to qword, because:
...
1) aword follows the ALU size of the CPU, not the address type
2) MemPos is qword and is already checked against MaxMemPos
git-svn-id: trunk@31413 -
2015-08-25 00:08:02 +00:00
nickysn
fb1be14337
* yet another fix for the MZ relocation offsets
...
+ support RELOC_SEG and RELOC_SEGREL relocations pointing to an object section
git-svn-id: trunk@31412 -
2015-08-24 23:40:07 +00:00
nickysn
ba1c494cd6
* the code for displaying a symbol address in the linker map file moved to a
...
method in TObjSymbol
git-svn-id: trunk@31411 -
2015-08-24 22:12:00 +00:00
Jonas Maebe
8e00ca1ac1
* regenerated Makefile so FPC 3.0 is accepted as starting compiler
...
git-svn-id: trunk@31410 -
2015-08-24 22:07:06 +00:00
Jonas Maebe
677595880a
+ support for get_frame() for the LLVM target (using the llvm.frameaddress()
...
intrinsic)
git-svn-id: trunk@31409 -
2015-08-24 22:07:03 +00:00