nickysn
0efb86518b
+ emit dwarf segment information on i8086 in the .debug_aranges section
...
git-svn-id: trunk@39073 -
2018-05-20 21:28:26 +00:00
nickysn
651571c00f
+ added comments, indicating where we emit the address_size and segment_size
...
fields of the dwarf arange header
git-svn-id: trunk@39072 -
2018-05-20 21:21:26 +00:00
nickysn
a12622e06f
* use 1-byte alignment instead of 4-byte alignment for the OMF dwarf sections
...
(otherwise the alignment screws up the dwarf debug info)
git-svn-id: trunk@39071 -
2018-05-20 20:59:39 +00:00
nickysn
6fedf7e930
+ debug dump the address size from the header in ParseCompilationUnitForFunctionName
...
git-svn-id: trunk@39070 -
2018-05-20 20:41:13 +00:00
nickysn
a598e17c8a
* fix loading of i8086-msdos ELF when the MZ binary in front of it exceeds 64kb
...
git-svn-id: trunk@39069 -
2018-05-20 20:18:00 +00:00
nickysn
2955ee2dc4
+ i8086-msdos implementation of exeinfo.GetModuleByAddr
...
git-svn-id: trunk@39068 -
2018-05-20 20:03:58 +00:00
nickysn
1d3ad2b078
+ also take the segment portion of the address in lnfodwrf.ParseCompilationUnit
...
git-svn-id: trunk@39067 -
2018-05-20 17:20:29 +00:00
nickysn
4ce5db5188
+ also check the arange segment in ParseCompilationUnitForDebugInfoOffset
...
git-svn-id: trunk@39066 -
2018-05-20 17:00:56 +00:00
marco
dcfe1cae13
* fix 4265 cases where the index resolved a lemma that had a link= property.
...
Mantis #32325
* adds a warning for the cases that are fixed. If generation logs are saved, this makes it easy to check if new problems are related to this fix.
git-svn-id: trunk@39065 -
2018-05-20 16:59:45 +00:00
nickysn
81d5483ab1
* subtract the process load segment from the code segment on i8086
...
git-svn-id: trunk@39064 -
2018-05-20 16:55:18 +00:00
nickysn
875330d84f
+ pass a segment (0 on non-i8086) to all ParseCompilationUnit* functions in unit
...
lnfodwrf
git-svn-id: trunk@39063 -
2018-05-20 16:51:49 +00:00
nickysn
d7a3f755e4
+ also read arange segments on i8086
...
git-svn-id: trunk@39062 -
2018-05-20 16:07:28 +00:00
marco
d7f2ab0d28
* fix resolve* functions for filesystems with backslashes.
...
git-svn-id: trunk@39061 -
2018-05-20 16:03:30 +00:00
nickysn
3989e57fed
* take into account the address size in lnfodwrf.ReadAddress on i8086; support
...
2-byte and 4-byte addresses
git-svn-id: trunk@39060 -
2018-05-20 15:48:58 +00:00
nickysn
a7f5a69000
+ added an address size parameter to lnfodrwf.ReadAddress(); pass the expected
...
address size, as taken from the dwarf header structure
git-svn-id: trunk@39059 -
2018-05-20 15:43:19 +00:00
nickysn
dc8b78abe6
+ debug print the arange address and segment sizes
...
git-svn-id: trunk@39058 -
2018-05-20 14:58:09 +00:00
nickysn
1f76f52996
* use hexstr(addr) in the dwarf backtrace function, so it displays always a good
...
value, according to the x86 pointer type
git-svn-id: trunk@39057 -
2018-05-20 14:42:17 +00:00
nickysn
96b53c168c
* use hexstr(baseaddr) to print out the pointer value, regardless of its x86 type (near/far, etc.)
...
git-svn-id: trunk@39056 -
2018-05-20 14:39:28 +00:00
nickysn
abe61d0daa
* the 'addr' and 'baseaddr' parameters of exeinfo.GetModuleByAddr changed to
...
far pointers on i8086
* the 'addr' parameter of lnfodwrf.OpenDwarf changed to codepointer
git-svn-id: trunk@39055 -
2018-05-20 14:33:17 +00:00
nickysn
443980b7ac
* moved the morphos code for exeinfo.GetModuleByAddr to a separate ifdef section
...
git-svn-id: trunk@39054 -
2018-05-20 14:09:57 +00:00
nickysn
0ceb1244bf
* changed the type of the first parameter ('addr') of lnfodwrf.GetLineInfo to
...
CodePtrUInt instead of PtrUInt
git-svn-id: trunk@39053 -
2018-05-20 13:41:10 +00:00
nickysn
2c000d1e74
* processaddress's type changed to word on i8086 (ptruint changes size between
...
memory models and we only need the offset; the segment is tracked separately)
+ introduce texefile.processsegment on i8086
* initialize processaddress and processsegment properly on i8086-msdos (for .exe
files; .com files are not supported yet)
git-svn-id: trunk@39052 -
2018-05-20 13:19:49 +00:00
marco
f401410500
* quick fix for uninitialized "CodeEl" usage that trips up small test programs
...
git-svn-id: trunk@39051 -
2018-05-20 13:06:13 +00:00
nickysn
2411cb3f24
* fix save/restore of base/index/pos on i8086
...
git-svn-id: trunk@39050 -
2018-05-20 12:55:22 +00:00
nickysn
0ca05f042b
+ parse the openwatcom dwarf extension DW_LNE_SET_SEGMENT and also track segment
...
data in the dwarf state machine on i8086
git-svn-id: trunk@39049 -
2018-05-20 12:43:53 +00:00
nickysn
b048da4284
+ added the non-standard Open Watcom DWARF extension DW_LNE_set_segment extended
...
opcode constant; not emitted yet; will be needed on i8086
git-svn-id: trunk@39048 -
2018-05-20 12:25:03 +00:00
nickysn
60d49d696a
* fix for ReadLEB128 on 16-bit CPUs
...
git-svn-id: trunk@39047 -
2018-05-20 12:06:36 +00:00
nickysn
994783db95
+ introduce the TFilePos type for storing file offsets; use longint instead of
...
sizeint on i8086, because sizeint is 16-bit and file offsets are 32-bit there
git-svn-id: trunk@39046 -
2018-05-20 11:55:47 +00:00
svenbarth
dcdb151add
* prohibit static array constants inside dynamic array constants for Delphi modes
...
+ added test
git-svn-id: trunk@39045 -
2018-05-20 11:50:27 +00:00
svenbarth
31a9ed573c
* regenerate msg* files after addition of the new message for static array constants inside dynamic array
...
constants
git-svn-id: trunk@39044 -
2018-05-20 11:50:24 +00:00
svenbarth
74ca92b5dc
+ add a message that will be used to complain about static array constants inside dynamic array constants for
...
Delphi modes
git-svn-id: trunk@39043 -
2018-05-20 11:50:21 +00:00
svenbarth
a29a6abc55
+ add support for Delphi's dynamic array constant syntax ("[...]") in Delphi modes
...
git-svn-id: trunk@39042 -
2018-05-20 11:50:19 +00:00
svenbarth
08dd4e5445
+ add support for dynamic array constants
...
+ added test
git-svn-id: trunk@39041 -
2018-05-20 11:50:16 +00:00
svenbarth
2bf5c28077
+ add methods begin_dynarray_const and end_dynarray_const which can be used to emit the data of a dynamic array
...
inbetween
+ add method emit_dynarray_offset to emit a reference to that data with the correct offset
git-svn-id: trunk@39040 -
2018-05-20 11:50:13 +00:00
svenbarth
e863245021
+ add method get_dynarray_symofs to retrieve the platform specific offset of the dynamic array data from its
...
meta data record
git-svn-id: trunk@39039 -
2018-05-20 11:50:11 +00:00
svenbarth
d3d9221c8d
+ add method get_dynarray_header_size to retrieve the size of the dynamic array meta data record
...
git-svn-id: trunk@39038 -
2018-05-20 11:50:09 +00:00
svenbarth
8606293028
* assume that dynamic arrays with a negative reference count are immutable (at least regarding their metadata)
...
git-svn-id: trunk@39037 -
2018-05-20 11:50:06 +00:00
nickysn
c8cbb1daea
* changed the sechdrofs,secstrofs and ImgOffset types to 32-bit to prevent
...
overflow errors on i8086 (ptruint is 16-bit in certain i8086 memory models;
file offsets, however, still remain 32-bit)
git-svn-id: trunk@39036 -
2018-05-20 11:26:40 +00:00
nickysn
db3c88c871
+ enabled compilation of unit lnfodwrf on i8086-msdos
...
- disabled compilation of unit lineinfo on i8086-msdos (no stabs support on this target)
git-svn-id: trunk@39035 -
2018-05-20 11:25:27 +00:00
Mattias Gaertner
763fd783e0
pastojs: typecast array to/from tjsobject
...
git-svn-id: trunk@39034 -
2018-05-20 10:40:07 +00:00
nickysn
8364b1f4ca
* changed the result of function Pos() to SizeInt (same type as the 'index'
...
variable it returns). Fixes the register allocation failure error when
compiling on i8086.
git-svn-id: trunk@39033 -
2018-05-20 10:40:00 +00:00
nickysn
0d8ba2ddfa
* skip the MZ exe in order to reach the ELF32 image on i8086-msdos
...
git-svn-id: trunk@39032 -
2018-05-20 10:11:14 +00:00
nickysn
ccf5aaeebb
+ enable the ELF32 reader in unit exeinfo for i8086-msdos
...
git-svn-id: trunk@39031 -
2018-05-20 10:01:19 +00:00
nickysn
537fbefb9e
* add texeheader.ImgOffset to all file offsets when reading an ELF file. This
...
will be useful for reading i8086-msdos dwarf debug info, because it is
appended after the regular dos MZ exe in an ELF32 image by the watcom linker.
git-svn-id: trunk@39030 -
2018-05-20 09:43:08 +00:00
nickysn
3bcd21663e
* replaced nested ifdefs in unit exeinfo with a chain of {$if defined(...)} ...
...
{$elseif defined(...)}
git-svn-id: trunk@39027 -
2018-05-19 21:04:30 +00:00
Mattias Gaertner
3d186b2706
pastojs: for value in externalarray do
...
git-svn-id: trunk@39026 -
2018-05-19 17:59:50 +00:00
Mattias Gaertner
1e6f23a72c
fcl-passrc: resolver: check property has read or write accessor,
...
git-svn-id: trunk@39025 -
2018-05-19 17:28:26 +00:00
svenbarth
2eac60cd87
* use a unique internal error
...
git-svn-id: trunk@39024 -
2018-05-18 14:43:31 +00:00
lacak
fc390136cb
fcl-db: sdf: fix for TTestCursorDBBasics.TestUpdateCursorPos
...
git-svn-id: trunk@39023 -
2018-05-18 12:26:54 +00:00
michael
8384dc7c07
* Patch from Laco to fix tests after changes in event behaviour introduced in 34980
...
git-svn-id: trunk@39022 -
2018-05-18 10:56:29 +00:00