Commit Graph

53751 Commits

Author SHA1 Message Date
michael
e8f74fdbdb * Fix bug #33869, wrong assignment in CopyFromDataset for largeint fields
git-svn-id: trunk@39237 -
2018-06-17 10:08:26 +00:00
nickysn
3aff9d6735 * set MemPos to 0 for each debug .MZ section. This fixes all references within
the debug sections themselves.

git-svn-id: trunk@39235 -
2018-06-15 14:49:43 +00:00
svenbarth
c495f10b29 + added tests for Mantis #33839 which is now fixed with the recent changes
git-svn-id: trunk@39234 -
2018-06-15 13:49:33 +00:00
svenbarth
22a5e5e4ee * the symbol parsed for "specialize" does not need to be a type; it could be a procsym or some other type (e.g. a constant of the same name in a third unit)
git-svn-id: trunk@39233 -
2018-06-15 13:49:26 +00:00
svenbarth
598ac21791 * if the generic dummy symbol is a procsym (with procdefs added) then this is the symbol that should be resolved to
git-svn-id: trunk@39232 -
2018-06-15 13:49:21 +00:00
svenbarth
8423fd7632 * also process procsyms when adding a symtable as they may be generic dummy symbols as well
git-svn-id: trunk@39231 -
2018-06-15 13:49:16 +00:00
svenbarth
5510b13975 * ensure that sto_has_generic is set when a generic routine has been parsed
git-svn-id: trunk@39230 -
2018-06-15 13:49:03 +00:00
nickysn
84b5265312 + append a TIS trailer after the debug ELF (this helps the watcom debugger find
the beginning of the ELF debug image)

git-svn-id: trunk@39229 -
2018-06-15 13:41:40 +00:00
nickysn
480eedac9f * fix/pretty print the segment and group list with too long segment/group/class
names in the linker map file, produced by the i8086 internal linker

git-svn-id: trunk@39228 -
2018-06-15 00:03:58 +00:00
nickysn
8af56ad6c8 * fixed silly (caused by copy/paste) bug when writing elf section contents in the dwarf debug binary, produced by TMZExeOutput.writeDebugElf
git-svn-id: trunk@39227 -
2018-06-14 16:29:25 +00:00
nickysn
11cf2a6996 * emit a warning, when encountering an omf reference to a section, that has been
removed due to smartlinking

git-svn-id: trunk@39226 -
2018-06-14 16:22:47 +00:00
nickysn
c41f736958 + allow MemPos_EndExeSection to be called with an empty section name
git-svn-id: trunk@39225 -
2018-06-14 16:17:00 +00:00
nickysn
97365abbcf + set the oso_debug flag to dwarf MZ exe sections
git-svn-id: trunk@39224 -
2018-06-14 16:15:11 +00:00
nickysn
239fb25179 + assign an MZExeUnifiedLogicalSegment object to the OMF dwarf sections, so that
OMF relocations work on them too

git-svn-id: trunk@39223 -
2018-06-14 16:03:05 +00:00
nickysn
7103e3cb5c + set the oso_debug section flags when reading an OMF section, which belongs to
the 'DWARF' class

git-svn-id: trunk@39222 -
2018-06-14 15:27:08 +00:00
nickysn
b7bfac11cb + enable using the i8086 internal linker with debug info, if the compiler is
compiled with -di8086_link_intern_debuginfo

git-svn-id: trunk@39221 -
2018-06-14 15:24:39 +00:00
nickysn
5b47bad32a * use uppercase object section names in the OMF linker script for matching the
dwarf debug sections. This is because they are converted to upper case when
  reading (so that we treat omf section names as case-insensitive)

git-svn-id: trunk@39220 -
2018-06-14 15:19:11 +00:00
nickysn
c56ebad183 + implemented writing of dwarf debug info (by calling writeDebugElf) in
TMZExeOutput.writeData. Note that writing i8086 debug info with the internal
  linker is still disabled (i.e. it switches to external linking) in 
  options.TOption.checkoptionscompatibility

git-svn-id: trunk@39219 -
2018-06-14 14:30:59 +00:00
nickysn
29b3ec3fdb * call MaybeSwapHeader and MaybeSwapSecHeader in TMZExeOutput.writeDebugElf, so
the debug ELF file is generated with the correct endianness

git-svn-id: trunk@39218 -
2018-06-14 13:02:54 +00:00
nickysn
b34ab6b279 * The MaybeSwapXXXHeader functions moved from ogelf to the elfbase unit, so they
can be used by TMZExeOutput.writeDebugElf as well

git-svn-id: trunk@39217 -
2018-06-14 13:01:08 +00:00
nickysn
daa47f4b7f + completed the internal debug ELF writer in TMZExeOutput.writeDebugElf (not
enabled yet)

git-svn-id: trunk@39216 -
2018-06-13 16:08:54 +00:00
svenbarth
be0d51d64c * allow $MinEnumSize, $PackSet and $PackRecords to be used with $Push and $Pop
+ added tests

git-svn-id: trunk@39215 -
2018-06-12 19:40:45 +00:00
svenbarth
da672d1344 * instead of using separate booleans use a set to keep track of pending changes for popped settings
git-svn-id: trunk@39214 -
2018-06-12 19:40:41 +00:00
nickysn
b3e4ace4e3 * fixed compilation of .com files in the i8086 tiny memory model, when used with
section based smartlinking

git-svn-id: trunk@39213 -
2018-06-12 00:38:51 +00:00
nickysn
420a57ddc6 * use upper case OMF section names when using i8086 section-based smart linking
git-svn-id: trunk@39212 -
2018-06-12 00:14:08 +00:00
nickysn
b9ab9e5782 + initial (experimental) implementation of section-based smartlinking for i8086.
Use -dI8086_SMARTLINK_SECTIONS to enable.

git-svn-id: trunk@39211 -
2018-06-11 16:56:33 +00:00
nickysn
bfdd75eabf + support AB_LOCAL symbols in OMF object files, by implementing support for
LPUBDEF/LPUBDEF32 OMF records

git-svn-id: trunk@39210 -
2018-06-11 15:29:23 +00:00
Mattias Gaertner
118ec57000 pastojs: typecast function to TJSFunction
git-svn-id: trunk@39208 -
2018-06-10 13:45:40 +00:00
Mattias Gaertner
cef027199c pastojs: typecast function to TJSFunction
git-svn-id: trunk@39207 -
2018-06-10 13:39:21 +00:00
marcus
b44c0265ee ssockets: fix for Amiga-systems
git-svn-id: trunk@39206 -
2018-06-10 08:22:05 +00:00
michael
ab4023a3de * Remove math unit
git-svn-id: trunk@39205 -
2018-06-09 20:16:48 +00:00
michael
7782463c9c * Hopefully fix amiga compilation
git-svn-id: trunk@39204 -
2018-06-09 13:50:02 +00:00
michael
be53c3438e * Fix from Christian Ulrich to improve import of frame width
git-svn-id: trunk@39203 -
2018-06-09 12:48:54 +00:00
michael
02dc95a510 * Fix from Christian Ulrich to import orientation
git-svn-id: trunk@39202 -
2018-06-09 12:47:31 +00:00
michael
9e76882ae6 * Fix smMaxheight stretchmode
git-svn-id: trunk@39201 -
2018-06-09 12:44:12 +00:00
michael
d08f06df22 * Test for bug ID #33795
git-svn-id: trunk@39200 -
2018-06-09 12:28:01 +00:00
michael
1e1fbf77db * Fix bug #0033745, connection timeout
git-svn-id: trunk@39199 -
2018-06-09 12:25:41 +00:00
nickysn
188e9ff64a * only read the first OMF record in TOmfLibObjectWriter.closefile, since we no
longer copy the entire file there, so we parse the file only to get the module
  name, and the THEADR record should always be the first record in the OMF file.

git-svn-id: trunk@39198 -
2018-06-08 14:21:18 +00:00
pierre
cf8c5d2540 Report if ExitStatus of DosBox process is non-zero
git-svn-id: trunk@39197 -
2018-06-08 08:35:45 +00:00
nickysn
3f5577077a * automatically create omf libraries with the smallest page size possible. This
greatly reduces the size of i8086 snapshots by keeping the amount of padding
  in the library files to the minimum.

git-svn-id: trunk@39195 -
2018-06-07 22:27:47 +00:00
nickysn
345713c1fa * refactored omf library writing, so that the whole library is written in
TOmfLibObjectWrite.WriteLib, after determining the page size (currently still
  fixed to 512 bytes). Prerequisite for OMF lib page size optimization.

git-svn-id: trunk@39194 -
2018-06-07 22:11:03 +00:00
nickysn
00c6826896 * moved the PageNum property of TOmfLibObjectWriter.TOmfLibDictionaryEntry to
TOmfLibObjectWriter.TOmfLibObjectModule. Instead, store the module index (in
  FObjectModules) in TOmfLibDictionaryEntry. This is a prerequisite for
  implementing OMF library page size optimization.

git-svn-id: trunk@39193 -
2018-06-07 18:32:50 +00:00
nickysn
4bcfe8dbb2 * refactored TOmfLibObjectWriter, so it keeps all object modules in a
TFPObjectList. This will allow implementing omf library page size optimization
  later.

git-svn-id: trunk@39192 -
2018-06-07 15:03:05 +00:00
nickysn
af5e6e182d * the TOmfLibDictionaryEntry class in unit owomflib converted to two identical
nested classes inside TOmfLibObjectWriter and TOmfLibObjectReader. The reason
  is I'm planning to change the class, used in TOmfLibObjectWriter, but not the
  one in TOmfLibObjectReader. And using nested classes keeps things clean and
  avoids exposing implementation details in the interface of the owomflib unit.
* also changed 'private' to 'strict private' in the classes of the owomflib to
  reduce the risk of interference between TOmfLibObjectWriter and TOmfLibObjectReader.

git-svn-id: trunk@39191 -
2018-06-07 12:24:36 +00:00
Mattias Gaertner
29bb418fe0 pastojs: version 0.9.25
git-svn-id: trunk@39190 -
2018-06-07 07:14:22 +00:00
Mattias Gaertner
8c8b983c37 pastojs: fixed -FU -o, -o is always relative to working directory
git-svn-id: trunk@39189 -
2018-06-07 06:56:24 +00:00
Károly Balogh
bbbaa39d79 ncginl: another approach to fix the same issue #39184 supposed to address. keep left.resultdef, but try to make the target def always ordinal of an equal size, so it ends up in a data register on m68k
git-svn-id: trunk@39188 -
2018-06-07 06:43:02 +00:00
lacak
1db2e604cd fcl-db: mysql: cosmetic
git-svn-id: trunk@39187 -
2018-06-07 06:26:27 +00:00
Károly Balogh
3286623c3c ncginl: revert the previous commit, it seems to cause some issues on other CPUs
git-svn-id: trunk@39186 -
2018-06-07 06:21:46 +00:00
lacak
c65c4abd4d fcl-db: mysql: fix memleak. Bug #33837
git-svn-id: trunk@39185 -
2018-06-07 06:20:16 +00:00