Commit Graph

45890 Commits

Author SHA1 Message Date
nickysn
a69b98484e + enabled compilation of unit lnfodwrf on i8086-msdos
git-svn-id: trunk@30637 -
2015-04-18 01:56:04 +00:00
nickysn
7fca6dd6c1 * set the properties of the dwarf debug info sections in the omf obj writer
as required by wlink in order to be recognized and handled as debug info
  (i.e. class=DWARF, use32)

git-svn-id: trunk@30636 -
2015-04-18 00:42:17 +00:00
nickysn
fb31be4e4a * changed the default debug format for i8086-msdos from stabs to dwarf2
git-svn-id: trunk@30635 -
2015-04-17 23:47:31 +00:00
nickysn
a6e39edb8f * moved the insertion of fwaits for 8087 from the nasm asm writer to ti8086procinfo.postprocess_code
git-svn-id: trunk@30634 -
2015-04-17 23:27:03 +00:00
florian
58c66b4759 * the mul instructions do not modify the operands
git-svn-id: trunk@30633 -
2015-04-17 20:15:10 +00:00
florian
66e97549b9 * replace jmp by rjmp if possible, resolves issue #27885
git-svn-id: trunk@30632 -
2015-04-17 20:14:18 +00:00
florian
07cba31a0a * cosmetics
git-svn-id: trunk@30631 -
2015-04-17 20:12:57 +00:00
florian
10dc944d35 * disable some function using ansistrings if the ansistring feature is turned off
git-svn-id: trunk@30630 -
2015-04-17 20:12:36 +00:00
nickysn
5c8965fea5 * in the inline asm reader, treat [var] reference as "word" instead of "dword"
when "var" is of dword size. This fixes spurious generation of a $66 prefix
  and makes the code consistent with what Tx86Operand.SetSize does (and what is
  then used for checking the operand sizes of all operands of the instruction in
  Tx86Instruction.CheckOperandSizes).

git-svn-id: trunk@30629 -
2015-04-17 19:58:06 +00:00
michael
f9f602dca6 * Fix bug ID #24752
git-svn-id: trunk@30628 -
2015-04-17 19:57:48 +00:00
michael
3e100245e0 * Globally take into account forcedclose when committing/rollbacking, so all operations succeed
git-svn-id: trunk@30627 -
2015-04-17 19:26:36 +00:00
nickysn
3b5395e0e3 * set 16-bit opsize for OPR_SYMBOL operands on i8086
git-svn-id: trunk@30626 -
2015-04-17 19:10:13 +00:00
michael
7c33165672 * Parse ASM blocks (Bug ID 27117)
git-svn-id: trunk@30625 -
2015-04-17 19:06:11 +00:00
michael
faaae8b2a2 * Fix bug #24271, fpdoc failing on dotted unit names
git-svn-id: trunk@30624 -
2015-04-17 18:23:13 +00:00
michael
f3e8240230 * Fix bug UD 27026
git-svn-id: trunk@30623 -
2015-04-17 17:57:33 +00:00
michael
27ff4c95e4 * Made CheckBitIndex protected
git-svn-id: trunk@30622 -
2015-04-17 16:53:23 +00:00
michael
dd6f45d1d0 * Added setregid and setreuid functions to linux unit (they are not POSIX), bug ID #25403
git-svn-id: trunk@30621 -
2015-04-17 16:48:32 +00:00
michael
3b33b2a7bc * Fix bug ID #26512
git-svn-id: trunk@30620 -
2015-04-17 16:44:11 +00:00
michael
f67cbabdc6 * Fixed memory leak caused by FSocket not being freed if error during connect (bug ID 26959)
git-svn-id: trunk@30619 -
2015-04-17 13:35:41 +00:00
michael
f5aeb96c97 * Added dependency on rtl-objpas
git-svn-id: trunk@30618 -
2015-04-17 12:26:52 +00:00
michael
d802842ecf * Committed working patches to error message files from Stéphane Aulery
git-svn-id: trunk@30617 -
2015-04-17 12:19:13 +00:00
nickysn
c3515f743f * generate 16-bit (instead of 32-bit) instructions for push/pop of a segment
register in an inline asm block on i8086

git-svn-id: trunk@30616 -
2015-04-17 00:51:00 +00:00
nickysn
7315175c32 * keep the proper original section name and order (and not just the type) of the
last encountered section at the object cut location when writing a smartlinked
  library with the internal assembler. This fixes the $HUGECODE directive with
  the internal assembler on i8086 and maybe other things on other platforms,
  that use library based smartlinking in combination with the internal asm.

git-svn-id: trunk@30615 -
2015-04-16 23:33:26 +00:00
Jonas Maebe
3be51e1455 * fixed endless recursion in tabstractrecorddef.contains_float_field() in
case a record contains an internal typed constant of its own type
    (which happened becuase such a typed constant is also fieldvarsym, solved
     by checking for sp_static) (mantis #27880)
  * fixed several other similar cases in the compiler where we are only
    interested in instance fields, but processed all fieldvarsyms

git-svn-id: trunk@30614 -
2015-04-16 21:25:22 +00:00
nickysn
25a834087e + choose the correct version of "Jcc near" to use on i8086 (386+ or 8086+)
depending on the specified target cpu type
+ support the \60..\62 magic codes on i8086 in the internal asm writer

git-svn-id: trunk@30613 -
2015-04-16 19:49:22 +00:00
nickysn
2cf6852910 + added i8086 instruction entries for Jcc near (which is actually a 386+
instruction), that encode it as two i8086 compatible instructions:
    JNcc short +3
    JMP near target

git-svn-id: trunk@30612 -
2015-04-16 17:07:07 +00:00
nickysn
bfd5670cc8 + support new magic code \23 in the internal asm writer - same as \13, but with
the condition inverted; this will be used to simulate near conditional jumps
  on processors earlier than 386 (i.e. "Jcc near target" will be encoded as
  "JNcc short +3; JMP target")

git-svn-id: trunk@30611 -
2015-04-16 16:53:48 +00:00
lacak
98c059f3ec fcl-db: base: set storage specifiers - default 0 - for TFieldDef.Precision and TFieldDef.Size.
(TFieldDef.Precision is initialised to -1 which differs from Delphi where it is 0)

git-svn-id: trunk@30610 -
2015-04-16 11:37:28 +00:00
michael
f787468412 * Fixed bug #27829
git-svn-id: trunk@30609 -
2015-04-16 06:48:52 +00:00
Jonas Maebe
e6361c634c * fixed Inc<Time>() with negative TDateTime values (mantis #27832)
git-svn-id: trunk@30608 -
2015-04-15 20:46:28 +00:00
florian
77bc87a809 * do not compile consoleio in objpas mode to avoid dependency on the objpas unit, resolves also #27856
git-svn-id: trunk@30607 -
2015-04-15 19:45:34 +00:00
Jonas Maebe
a56bf0f892 * regenerated message files after r30604
git-svn-id: trunk@30606 -
2015-04-15 18:29:47 +00:00
Jonas Maebe
3ab62fc36e * define TSymStr as ansistring for llvm, as its type definitions can be quite long
git-svn-id: trunk@30605 -
2015-04-15 18:29:44 +00:00
michael
b2caba585d * Patch from Stéphane Aulery to fix typos in compiler messages (bug ID 27857)
git-svn-id: trunk@30604 -
2015-04-15 17:34:56 +00:00
nickysn
c407f61107 * generate the omf alignment based on the value of SecAlign, instead of
duplicating the code from sectiontype2align in the TOmfObjSection constructor

git-svn-id: trunk@30603 -
2015-04-15 08:55:19 +00:00
nickysn
d7416afd88 * override sectiontype2align in the omf writer and set the same alignments as
the ones, currently produced by nasm

git-svn-id: trunk@30602 -
2015-04-15 08:31:06 +00:00
nickysn
955c29618a + support far calls and jumps in the internal asm writer
git-svn-id: trunk@30601 -
2015-04-15 00:12:40 +00:00
nickysn
a7e059c875 + support segment relocations in the omf writer
git-svn-id: trunk@30600 -
2015-04-14 22:46:01 +00:00
Jeppe Johansen
65a69129c5 Add initial support for STM32F429 core
git-svn-id: trunk@30599 -
2015-04-14 21:55:37 +00:00
florian
bae4d89913 - avrsim needs no separate rule
git-svn-id: trunk@30598 -
2015-04-14 21:19:08 +00:00
florian
e733efbbc2 * proper tavrprocinfo.calc_stackframe_size
git-svn-id: trunk@30597 -
2015-04-14 20:48:13 +00:00
florian
3d0b1020d7 * proper alignment constants for avr-embedded
git-svn-id: trunk@30596 -
2015-04-14 20:47:47 +00:00
florian
cf58a7ad60 * cosmetics
git-svn-id: trunk@30595 -
2015-04-14 20:47:26 +00:00
nickysn
f5ddd351fe * allow use of the imm8 form of 16-bit instructions on i8086
git-svn-id: trunk@30594 -
2015-04-14 19:14:47 +00:00
florian
b84657980d * make OS_INT/OS_SINT 8 Bit on avr, should work better on avr, resolves #27840
git-svn-id: trunk@30593 -
2015-04-14 18:51:21 +00:00
nickysn
07ebd29911 * fixed warning in TOmfRecord_MODEND.DecodeFrom
git-svn-id: trunk@30592 -
2015-04-14 18:41:41 +00:00
nickysn
e0be3e49ae * when reading omf records (and subrecords), range check against
RawRecord.RecordLength instead of High(RawRecord.RawData)

git-svn-id: trunk@30591 -
2015-04-14 17:55:13 +00:00
Jeppe Johansen
f31f87e8c7 Fix spilling_get_operation_type for MRS and MSR instructions
git-svn-id: trunk@30590 -
2015-04-14 17:20:47 +00:00
nickysn
b4d044e1b2 + implemented reading of MODEND omf records
git-svn-id: trunk@30589 -
2015-04-14 16:26:40 +00:00
nickysn
4e0c77fcf4 check and cause an internal error in TOmfRecord_PUBDEF.EncodeTo when trying to
write a 16-bit record with an entry with public offset > $ffff

git-svn-id: trunk@30588 -
2015-04-14 15:35:19 +00:00