nickysn
4f498c9e3c
* always enable portl (32-bit port access) in the i8086 ports unit
...
git-svn-id: trunk@37560 -
2017-11-06 16:32:36 +00:00
nickysn
0695381709
- removed the objpas dependency of unit ports under go32v2 as well
...
git-svn-id: trunk@37559 -
2017-11-06 16:19:54 +00:00
nickysn
24d447716e
* fixed support for access from inline asm to absolute vars, pointing to an
...
array element (previously, it would always point to the start of the array)
git-svn-id: trunk@37558 -
2017-11-06 16:06:34 +00:00
florian
a230826357
- remove obsolete comment after r37555
...
git-svn-id: trunk@37557 -
2017-11-05 22:04:06 +00:00
florian
4331904eb8
* made mode field of file recs word sized on 8 and 16 bit systems
...
git-svn-id: trunk@37556 -
2017-11-05 19:30:51 +00:00
florian
13df5b51db
* objects support also default properties, so the ports unit does not depend on objpas anymore
...
git-svn-id: trunk@37555 -
2017-11-05 15:10:55 +00:00
florian
2140b586a6
* i386 building fixed
...
git-svn-id: trunk@37554 -
2017-11-04 19:42:08 +00:00
florian
1556599ad5
* symbols with bind type AB_EXTERNAL_INDIRECT need to be declared as EXTERN for masm/nasm etc.
...
git-svn-id: trunk@37553 -
2017-11-04 19:10:17 +00:00
florian
c36c4d838d
+ PostPeepHoleOptsCpu for i8086
...
git-svn-id: trunk@37552 -
2017-11-04 19:10:15 +00:00
florian
4da4b768ec
* factored out PostPeepholeOptTest
...
+ use PostPeepholeOptTest on x86-64
git-svn-id: trunk@37551 -
2017-11-04 19:10:14 +00:00
florian
3097eaf8ee
* made PostPeepholeOptMov a function
...
git-svn-id: trunk@37550 -
2017-11-04 19:10:12 +00:00
florian
a7ea7fb569
* factored out PostPeepholeOptCmp
...
+ use PostPeepholeOptCmp for x86_64
git-svn-id: trunk@37549 -
2017-11-04 19:10:09 +00:00
Mattias Gaertner
bc260d7284
pastojs: updated todos
...
git-svn-id: trunk@37548 -
2017-11-01 23:33:52 +00:00
Mattias Gaertner
399beb084b
pasuseanalyzer: test for wpo resourcestring in other unit
...
git-svn-id: trunk@37547 -
2017-11-01 23:33:30 +00:00
florian
194c0c7073
* compilation fixed
...
git-svn-id: trunk@37546 -
2017-11-01 16:54:08 +00:00
florian
3a6f1fda78
* implemented _FPC_haltproc and Default_IRQ_handler in pascal, resolves issue #32633
...
git-svn-id: trunk@37545 -
2017-11-01 16:33:36 +00:00
florian
c7d5525b56
+ implemented some AVR specific intrinsics
...
git-svn-id: trunk@37544 -
2017-11-01 16:33:34 +00:00
florian
4752b0ef96
+ tinlinenode calls cpu specific routines for unknown inline numbers
...
git-svn-id: trunk@37543 -
2017-11-01 16:33:32 +00:00
florian
ff86c80176
* cpu specific header file for the system unit: cpuh.inc, moved several declarations into it
...
git-svn-id: trunk@37542 -
2017-11-01 16:33:30 +00:00
nickysn
e5dad9c98c
+ set oper.haslabelref in several other places, where a reference, containing a
...
label is created in the intel syntax x86 assembler. This fixes tfarcal3.pp and
tfarcal4.pp after r37538
git-svn-id: trunk@37541 -
2017-11-01 14:31:16 +00:00
nickysn
9649154368
* fixed the token2str const array for intel syntax x86 asm
...
git-svn-id: trunk@37540 -
2017-11-01 13:36:16 +00:00
michael
aad1401272
* Fix usesanalyzer for resource strings
...
git-svn-id: trunk@37539 -
2017-11-01 10:00:05 +00:00
nickysn
9450beb99c
* fixed bug in intel syntax i8086 inline asm, when certain 'jmp/call [v]'
...
instructions got erroneously converted to 'jmp/call v', if 'v' is an external
far variable that points to certain things (like a local label, exported via
public)
git-svn-id: trunk@37538 -
2017-10-31 16:49:38 +00:00
lacak
05cddddf7c
fcl-db: mssql: in case of network failure infinite loop can occurs in Fetch method. Bug #32524
...
git-svn-id: trunk@37537 -
2017-10-31 08:45:50 +00:00
nickysn
49a96af874
+ also support 'external near' var declarations on i8086
...
git-svn-id: trunk@37536 -
2017-10-30 21:52:03 +00:00
florian
5b766a1e67
* fixed CompareByte for x86-64 after r37528
...
git-svn-id: trunk@37535 -
2017-10-30 21:01:59 +00:00
florian
3bcf774c7b
* compilation fixed
...
git-svn-id: trunk@37534 -
2017-10-30 21:01:10 +00:00
nickysn
d570c09b9d
+ added test, which tests public labels as well as 'external far' variables on i8086
...
git-svn-id: trunk@37533 -
2017-10-30 18:08:39 +00:00
nickysn
303309b28f
+ added support for 'external far' variables for i8086
...
git-svn-id: trunk@37532 -
2017-10-30 18:03:44 +00:00
nickysn
be3ff9128a
+ added an i8086 test for the public directive
...
git-svn-id: trunk@37531 -
2017-10-30 17:02:48 +00:00
nickysn
29558a74cd
+ support exporting labels from asm blocks in intel syntax asm blocks via the
...
'public' directive
git-svn-id: trunk@37530 -
2017-10-30 16:44:13 +00:00
florian
0c7306e1cd
* improved CompareByte for x86-64 based on a patch by Markus Beth
...
git-svn-id: trunk@37528 -
2017-10-29 22:15:31 +00:00
yury
13957d32b8
* Fixed packages building for mipsel-android. socketcall is used only for i386 CPU.
...
git-svn-id: trunk@37527 -
2017-10-29 12:46:02 +00:00
Mattias Gaertner
5116deddc9
fcl-passrc: resolver: implicit calls in arguments of built-in procs
...
git-svn-id: trunk@37526 -
2017-10-29 10:38:57 +00:00
nickysn
d318ab086a
* when handling absolute vars from within intel inline assembly, take the
...
absolute var size into account (not the type of the var it points to or no
size at all, if it points to a fixed address)
git-svn-id: trunk@37525 -
2017-10-26 15:58:48 +00:00
lacak
eef6e65730
fcl-db: memds: for ftLargeInt fields use AsLargeInt when copying
...
git-svn-id: trunk@37524 -
2017-10-26 13:00:50 +00:00
lacak
555528d145
fcl-db: memds: when copying data from source dataset to destination honor NULL values. Bug #32537
...
git-svn-id: trunk@37523 -
2017-10-26 12:53:25 +00:00
lacak
5c98c93500
fcl-db: tests: memds: check if null values are copied correctly. Bug #32537
...
git-svn-id: trunk@37522 -
2017-10-26 11:37:25 +00:00
nickysn
8a0d8f025b
* fixed another i8086 inline asm 32-bit constant bug (e.g. in 'or eax, 80000001h')
...
git-svn-id: trunk@37521 -
2017-10-25 19:38:37 +00:00
nickysn
07eab50afe
+ added a test for 32-bit inline asm const operand on i8086, using at&t syntax as well
...
git-svn-id: trunk@37520 -
2017-10-25 18:09:11 +00:00
nickysn
325e66287c
* fix for inline asm of instructions with 32-bit constant operands on i8086
...
git-svn-id: trunk@37519 -
2017-10-25 18:03:22 +00:00
nickysn
2af5c9d508
* changed type used for section alignment from byte/shortint to longint, so the
...
internal object writer and the internal linker support object files with
sections with alignment >=256
git-svn-id: trunk@37518 -
2017-10-25 15:47:29 +00:00
nickysn
8cc230ef1a
- don't switch index into base in the gas assembly writer. This optimization
...
(and others) are performed in optimize_ref().
git-svn-id: trunk@37517 -
2017-10-25 13:42:18 +00:00
nickysn
d7e4b50068
+ also optimize x86_64 references by switching [rbp+reg64] to [reg64+rbp],
...
[r13+reg64] to [reg64+r13] and [r13d+reg32] to [reg32+r13d]
git-svn-id: trunk@37516 -
2017-10-24 16:18:43 +00:00
nickysn
5ae32a0ec5
+ always do the x86_64 reference optimizations as if SS=DS, because the CPU
...
basically ignores these segments in long mode
git-svn-id: trunk@37515 -
2017-10-24 15:38:59 +00:00
nickysn
e58bad8eef
+ check for the 'pop cs' instruction in the x86 inline assembler and print a
...
warning (on the i8086 target) or an error (on i386 and x86_64) when this
instruction is used (because it only works on 8086 and 8088 CPUs)
git-svn-id: trunk@37514 -
2017-10-24 15:07:20 +00:00
marco
fb57fd7324
* patch from Mattias fixing save/restore ancestorpos in twriter. Mantis #32607
...
git-svn-id: trunk@37513 -
2017-10-24 13:23:26 +00:00
nickysn
0d1f7910d7
+ also apply optimize_ref() on references of inline asm instructions
...
git-svn-id: trunk@37512 -
2017-10-23 22:28:08 +00:00
nickysn
875339993f
* strip segment overrides, for segments, which should be equal in the current
...
model to the default segment of the reference in optimize_ref, when
inlineasm=false
git-svn-id: trunk@37511 -
2017-10-23 15:51:33 +00:00
nickysn
d220d6f2c6
* use get_default_segment_of_ref() in the seg() handling on i8086
...
git-svn-id: trunk@37510 -
2017-10-23 14:55:52 +00:00