Commit Graph

46790 Commits

Author SHA1 Message Date
marco
dbd3b0284d * system.fpd had no eol etc properties set.
git-svn-id: trunk@31358 -
2015-08-21 14:24:21 +00:00
nickysn
a762532ae1 * changed the MemPos field in TObjSection and TExeSection from aword to qword:
1) aword follows the ALU size of the CPU, not the address size
  2) it is already qword in TExeOutput and its methods and there's already
     MaxMemPos to check if the limits of the platform/exe format have been
     exceeded

git-svn-id: trunk@31357 -
2015-08-21 14:13:27 +00:00
michael
82a825af26 * Correct for different meaning of TZOffset
git-svn-id: trunk@31356 -
2015-08-21 10:36:30 +00:00
nickysn
157345c9c2 + obtain and return the internal module name in brackets in the internal omf
library reader (just like the internal .ar reader does)

git-svn-id: trunk@31355 -
2015-08-20 23:24:54 +00:00
nickysn
808b5dfb78 * allow gaps between LEDATA records, as nasm seems to produce them. They're
automatically filled with zeros. This fixes reading of the tiny memory model
  startup code object module by the i8086-msdos internal linker.

git-svn-id: trunk@31354 -
2015-08-20 22:57:15 +00:00
nickysn
536346a441 * use 'dw' instead of 'dd' to reference the stack, in order to prevent nasm from
generating a 32-bit fixup record

git-svn-id: trunk@31353 -
2015-08-20 21:51:23 +00:00
nickysn
1b9eeee25d + order omf sections first by classname, then by name
git-svn-id: trunk@31352 -
2015-08-20 21:21:52 +00:00
nickysn
eed7e3aa6b + implemented GetCode/Data/BssSize in the i8086-msdos internal linker
git-svn-id: trunk@31351 -
2015-08-20 21:11:09 +00:00
nickysn
7d586df038 * override DoRelocationFixup in TMZExeOutput - doing nothing for now, but
prevents the "abstract method called" error

git-svn-id: trunk@31350 -
2015-08-20 20:55:24 +00:00
marco
e7a61ff2d4 * fix overloaded scandatetime command, patch by kibook from mantis #28552
git-svn-id: trunk@31349 -
2015-08-20 19:09:37 +00:00
nickysn
0fb92b803b * set the MZ exe section limit to 640k
git-svn-id: trunk@31348 -
2015-08-20 15:01:39 +00:00
nickysn
07fff73527 * fixed the "Incompatible section options" error when using the omf internal linker to produce msdos executables
git-svn-id: trunk@31347 -
2015-08-20 14:50:59 +00:00
nickysn
a4c188ff01 + partial implementation of omf fixup reading
git-svn-id: trunk@31346 -
2015-08-19 15:55:03 +00:00
nickysn
3ee0fc22d9 * use 'dw' instead of 'dd' to reference the heap from the i8086-msdos startup
code, because 'dd' causes nasm to emit a 32-bit OMF relocation entry, which
  we won't support (at least initially) in our internal linker

git-svn-id: trunk@31345 -
2015-08-19 14:33:56 +00:00
Jonas Maebe
4c5191f5d7 * generate LLVM typedefs for file-typed data
git-svn-id: trunk@31344 -
2015-08-18 16:10:29 +00:00
Jonas Maebe
2cf17c0487 * don't generate DWARF cfi when targeting LLVM, it will do that itself
git-svn-id: trunk@31343 -
2015-08-18 16:09:44 +00:00
nickysn
6d6ed840a4 * set the data record start offset of the omf fixup object when reading omf fixups
git-svn-id: trunk@31342 -
2015-08-18 15:18:03 +00:00
nickysn
ebde434255 * specify the proper segment ordering in the link script of the i8086-msdos
internal linker

git-svn-id: trunk@31341 -
2015-08-18 14:44:00 +00:00
nickysn
cbc676e80e * ignore case (i.e. always convert to upper case) in omf segment/class/overlay/group names
git-svn-id: trunk@31340 -
2015-08-18 14:41:29 +00:00
nickysn
d4b0b6f6e6 * use SegmentName+'||'+ClassName for the name of OMF sections when reading OMF
files, because omf segments are (according to the spec) identified by the
  tuple <SegmentName,ClassName,OverlayName> and not just by name (and we ignore
  the overlay name)

git-svn-id: trunk@31339 -
2015-08-18 14:31:59 +00:00
nickysn
0dab94e35d * i8086-msdos internal linker: put the static libraries in a group, to enable
multiple passes when resolving symbols

git-svn-id: trunk@31338 -
2015-08-18 13:37:57 +00:00
nickysn
3c0d83bd74 * fixed reading of OMF library dictionary
git-svn-id: trunk@31337 -
2015-08-17 13:03:57 +00:00
nickysn
9ff0057a94 * return true if TOmfObjInput.ReadObjData is successful
git-svn-id: trunk@31336 -
2015-08-17 12:25:59 +00:00
Jonas Maebe
add015f808 * ensure that the dwarf file table contains an entry if the current unit
contains any code, even if we cannot generate any debug info for that
    code (because the default file is file number 1, and if that table is
    empty some gdb versions crash)

git-svn-id: trunk@31335 -
2015-08-17 08:47:38 +00:00
Jonas Maebe
6c9f7b25a9 * updated headers to the OS X 10.9 SDK (includes iOS 7 SDK info)
o translation of SearchKit has been added
   o a new version of the AuthorizationCallbacks record has been introduced.
     Backward compatibility has been ensured by renaming the old
     AuthorizationCallbacks record type to AuthorizationCallbacks0, naming
     the new one AuthorizationCallbacks1 and turning AuthorizationCallbacks
     into a variant record with version0 and version1 fields of those types.
     Similarly, there are now kAuthorizationPluginInterfaceVersion0 and
     kAuthorizationPluginInterfaceVersion1 constants, with
     kAuthorizationPluginInterfaceVersion aliasing
     the new kAuthorizationPluginInterfaceVersion1
   o the CGFunctionCreate and CGFunctionEvaluateCallback signatures have been
     corrected (mantis #28484)

git-svn-id: trunk@31334 -
2015-08-16 17:32:57 +00:00
Jonas Maebe
dc1f5f1a13 * Haiku use UTF-8 from day one, so it make sense to use the corresponding
code page as the default one (patch by Olivier Coursière, mantis #28520)

git-svn-id: trunk@31333 -
2015-08-16 13:22:57 +00:00
Jonas Maebe
750f47d155 * Declare Haiku in CollationOSes to compile units required to pass some
WideString unit tests (like unicodeducet.pas) (patch by Olivier Coursière,
    mantis #28522)

git-svn-id: trunk@31332 -
2015-08-16 13:22:54 +00:00
Jonas Maebe
356703f479 * regenerated after enabling fpwidestring
git-svn-id: trunk@31331 -
2015-08-16 13:22:51 +00:00
Jonas Maebe
f19d978f3d + add support for fpwidestring under Haiku (and a few other units) patch by
Olivier Coursière, mantis #28521)

git-svn-id: trunk@31330 -
2015-08-16 13:22:48 +00:00
Jonas Maebe
7f61cf5519 * Modify CODESET value according to the corresponding declaration in
langinfo.h under Haiku (patch by Olivier Cousière, mantis #28523)

git-svn-id: trunk@31329 -
2015-08-16 13:22:45 +00:00
Jonas Maebe
e06181749c * guarantee the order of parameter pushes again after r31201 on platforms
that don't use a fixed stack (mantis #28454)
   o moved the code to finalise managed out parameters from ncgcal to ncal,
     and add it to the init code of the call node (so it's evaluated before
     any parameters are processed, ensuring that mantis #28390 stays fixed)

git-svn-id: trunk@31328 -
2015-08-16 12:47:09 +00:00
Jonas Maebe
c95a3f2cf7 * firstpass rather than typecheckpass statements added to the call node
init/done block, as these can be added while pass_1 is ongoing

git-svn-id: trunk@31327 -
2015-08-16 12:47:04 +00:00
nickysn
41203a9152 * support far classrefdef targets on i8086 in thlcgcpu.a_loadaddr_ref_reg. This
fixes code generation for loadvmtaddr nodes in i8086 far data memory models
  after r31064.

git-svn-id: trunk@31326 -
2015-08-15 17:24:49 +00:00
Jeppe Johansen
5a302dfabb Fix some addresses that were missing a zero in CortexM7 unit.
Change all .word directives to .long in stm32f7xx headers.

git-svn-id: trunk@31325 -
2015-08-15 12:23:08 +00:00
nickysn
ef207475fd + parse omf modend records and add symbol for module start address
git-svn-id: trunk@31324 -
2015-08-14 15:42:43 +00:00
nickysn
e1298a035c * provide msdos-specific dummy overrides for GetCode/Data/BssSize to avoid crash
when using the (not yet finished) internal linker

git-svn-id: trunk@31323 -
2015-08-14 14:36:18 +00:00
nickysn
d4a4b9a57b * refactored the internal linker ar object reader object creation to allow using
different 'ar' implementations under different platforms
* use the omflib reader instead of the ar reader in the msdos internal linker

git-svn-id: trunk@31322 -
2015-08-14 13:52:45 +00:00
nickysn
8206c6dbd0 * the code for determining the code, data and bss sizes in the internal linker
moved to virtual methods, to allow for platform specific overrides (e.g. for
  supporting section names, other than '.text', '.data' and '.bss', etc.)

git-svn-id: trunk@31321 -
2015-08-13 15:07:24 +00:00
nickysn
e59c164844 + parse FIXUPP records in the omf object reader (although converting them TOmfRelocation is not yet implemented)
git-svn-id: trunk@31320 -
2015-08-13 13:44:46 +00:00
Jeppe Johansen
59f164b948 Changed type of size argument from aint to asizeint. This previously broke things on 8bit targets.
git-svn-id: trunk@31319 -
2015-08-13 01:57:09 +00:00
joost
46906833f1 * Re-generated makefile's
git-svn-id: trunk@31318 -
2015-08-12 19:47:44 +00:00
joost
ac87da7c42 * Filter the Makefile's unit searchpaths from the fpmake command line.
To void cluttering the .fpm file

git-svn-id: trunk@31317 -
2015-08-12 19:15:14 +00:00
joost
1f5fab5309 * rstconv.pp depends on fcl-json and uses resourcestrings
git-svn-id: trunk@31316 -
2015-08-12 19:01:50 +00:00
nickysn
c3133c498a + added property tobjectreader.pos, which returns the current position when reading an object file
git-svn-id: trunk@31315 -
2015-08-11 15:46:44 +00:00
nickysn
515d702408 - removed semicolon after 'begin'
git-svn-id: trunk@31314 -
2015-08-11 14:30:32 +00:00
nickysn
0cd1a88588 * fixed memory leak in TOmfObjInput.ReadExtDef
git-svn-id: trunk@31313 -
2015-08-11 13:39:26 +00:00
nickysn
9fc100574c + added property TObjSymbol.group for use with the omf object format
git-svn-id: trunk@31312 -
2015-08-11 13:38:28 +00:00
nickysn
c50991713c + implemented reading of omf public names
git-svn-id: trunk@31311 -
2015-08-11 13:04:22 +00:00
michael
7f1b21e561 * Added example for parameter binding from Laco
git-svn-id: trunk@31310 -
2015-08-11 06:50:18 +00:00
pierre
8847394d02 Accept 3.0.0 as starting compiler
git-svn-id: trunk@31308 -
2015-08-10 13:18:33 +00:00