nickysn
cdd2ba1a4d
+ added constants for the known CC_OmfExtension record subtypes (IMPDEF and
...
EXPDEF are the ones we care about - they are used in win16 dll import and
export libraries)
git-svn-id: trunk@42231 -
2019-06-14 22:59:50 +00:00
nickysn
fe49522e6f
+ register a win16 dll scanner. Not functional yet.
...
git-svn-id: trunk@42230 -
2019-06-14 22:40:11 +00:00
nickysn
1f3d5e8865
- remove the tiny memory model code from TInternalLinkerWin16.DefaultLinkScript,
...
because the Win16 target doesn't support the tiny memory model
git-svn-id: trunk@42229 -
2019-06-14 22:24:19 +00:00
nickysn
9eaa46f791
+ implement TInternalLinkerWin16.DefaultLinkScript by copying the MS-DOS
...
implementation (not correct, but a good starting point)
git-svn-id: trunk@42228 -
2019-06-14 22:20:51 +00:00
nickysn
db1903f45d
+ added a win16 internal linker class. Not functional yet.
...
git-svn-id: trunk@42226 -
2019-06-14 16:42:45 +00:00
nickysn
d3c3f2742c
+ added class TNewExeOutput. Not functional yet.
...
git-svn-id: trunk@42225 -
2019-06-14 16:23:23 +00:00
nickysn
7871ccd054
+ initialize some defaults in the TNewExeHeader constructor
...
git-svn-id: trunk@42224 -
2019-06-14 15:51:25 +00:00
nickysn
1474db42e4
+ added class TNewExeHeader that encapsulates a NewExe header and allows writing it to a file
...
git-svn-id: trunk@42223 -
2019-06-14 14:16:22 +00:00
Legolas
a9b015911d
* Updated Wii port to libogc 1.8.22
...
git-svn-id: trunk@42216 -
2019-06-12 16:35:25 +00:00
florian
73c8861929
* suppress warning for targets without MM registers
...
git-svn-id: trunk@42214 -
2019-06-11 20:03:47 +00:00
nickysn
dec03b5ac7
+ added the asmmodes_x86_att set constant - similar to asmmode_x86_intel, but for AT&T asm syntax
...
git-svn-id: trunk@42212 -
2019-06-11 15:51:40 +00:00
nickysn
697f2fcf75
* prettify the "Use of -offset(%esp), access may cause a crash or value may be
...
lost" warning by showing the exact register used (esp or rsp) and using the
asm syntax (Intel or AT&T) used originally in the code
git-svn-id: trunk@42211 -
2019-06-10 16:19:06 +00:00
nickysn
d2b3da1f14
+ add asmmode_standard to the asmmodes_x86_intel set on i8086, because i8086 defaults to intel syntax
...
git-svn-id: trunk@42210 -
2019-06-10 15:58:16 +00:00
nickysn
ce8ec3ab5d
+ introduced the asmmodes_x86_intel constant set
...
git-svn-id: trunk@42209 -
2019-06-10 15:44:19 +00:00
nickysn
4f2ab3fb11
* prettify the "Use of -offset(%ebp) is not recommended for local variable
...
access" warning by showing the exact register used (bp, ebp or rbp) and using
the original asm syntax
git-svn-id: trunk@42208 -
2019-06-10 15:26:46 +00:00
nickysn
1e07606cbf
* prettify the "Use of +offset(%ebp) is not compatible with regcall convention"
...
and "Use of +offset(%ebp) for parameters invalid here" warning messages by
showing the exact register used (bp, ebp or rbp) and using the original asm
syntax (Intel: [EBP+offset]; AT&T: +offset(%ebp) )
git-svn-id: trunk@42207 -
2019-06-10 15:08:46 +00:00
pierre
49fed0c710
Fix error in commit #42199
...
git-svn-id: trunk@42206 -
2019-06-10 13:55:59 +00:00
Jeppe Johansen
0d97dc7965
avr: Fixed some inconsistencies.
...
git-svn-id: trunk@42204 -
2019-06-10 13:35:38 +00:00
nickysn
2487fa7605
+ added set TNewExeSegmentFlags
...
git-svn-id: trunk@42203 -
2019-06-10 13:06:58 +00:00
Legolas
7c02f2b531
* Nintendo DS port updated to libnds ver.1.7.3
...
git-svn-id: trunk@42202 -
2019-06-10 06:39:46 +00:00
Legolas
4239742b35
* GBA port updated
...
git-svn-id: trunk@42201 -
2019-06-09 22:27:16 +00:00
pierre
14b9032ef2
Use use_tag_types everywhere to get consistent results for 'Tt' versus 't' for stabs for string definitions
...
git-svn-id: trunk@42199 -
2019-06-09 20:59:06 +00:00
florian
fe99252a9b
* lazarus version update
...
git-svn-id: trunk@42198 -
2019-06-09 20:08:09 +00:00
florian
17c48694a5
* fix bootstrapping with 3.0.x and -O3
...
git-svn-id: trunk@42197 -
2019-06-09 20:05:21 +00:00
Jonas Maebe
1dee4c41dd
- removed "cmp 0/1, pasbool1" optimization for llvm because this discards
...
the upper 7 bits of the boolean, while other platforms take it into
account (even though they're technically always required to be 0, and
the value is undefined if they're not)
git-svn-id: trunk@42189 -
2019-06-07 18:17:55 +00:00
nickysn
465e8a99e0
+ added type TNewExeAdditionalHeaderFlags
...
git-svn-id: trunk@42188 -
2019-06-07 14:15:07 +00:00
nickysn
ded3dec22a
+ added enum TNewExeTargetOS
...
git-svn-id: trunk@42187 -
2019-06-07 13:09:35 +00:00
nickysn
4dbccce43c
+ added TNewExeHeaderFlags type, describing the flags in the header of win16 executables
...
git-svn-id: trunk@42179 -
2019-06-06 16:00:29 +00:00
nickysn
914426e703
* fixed an i8086 inline assembler bug, where 'call word ptr [label]' (an
...
indirect call) was assembled as 'call near label' (direct call) instead of
'call near [label]' and 'call dword ptr [label]' was assembled as
'call near label' instead of 'call far [label]'
git-svn-id: trunk@42176 -
2019-06-05 15:49:39 +00:00
Jeppe Johansen
750567f8e3
Added T2 form of LDR/STR for SP relative forms.
...
git-svn-id: trunk@42169 -
2019-06-03 22:10:49 +00:00
Jonas Maebe
eab079c7bd
* fixed cbool "and" with full boolean evaluation, and cbool "xor"
...
(mantis #35272 )
git-svn-id: trunk@42167 -
2019-06-02 20:04:06 +00:00
Jonas Maebe
322a717c44
* support for handling subsetrefs with bitlen > AIntBits in a_load_subsetref_reg() and
...
a_load_const/reg_subsetref() (needed for handling 32 bit platforms using a purely
high level code generator like LLVM's, and may also improve the situation for
16 bit platforms)
o can probably be optimized to split them into parts that cover partial word loads
and complete word loads (to reduce useless merging)
git-svn-id: trunk@42165 -
2019-06-02 18:32:58 +00:00
Jeppe Johansen
aa4961d06e
- Add mov optimization for STS instruction.
...
git-svn-id: trunk@42163 -
2019-06-02 14:55:30 +00:00
Jeppe Johansen
5bdc635f50
Check if the current register was the last in the cgpara, to avoid running over the last register allocated.
...
git-svn-id: trunk@42159 -
2019-06-02 09:13:19 +00:00
Jeppe Johansen
cba4aeaca5
Fix division of constants on ARM thumb without long multiplication.
...
git-svn-id: trunk@42158 -
2019-06-01 20:30:09 +00:00
Jeppe Johansen
c867d2b7f6
Generalize skip instruction optimization for both sbix and sbrx.
...
git-svn-id: trunk@42154 -
2019-06-01 15:20:34 +00:00
marco
9313ddea78
* fix mantis 035656
...
git-svn-id: trunk@42146 -
2019-05-31 10:32:49 +00:00
nickysn
40e6c06f67
* fixes to the compiler util exe search routines, which caused the compiler to
...
erroneusly find '/usr/bin/ld' instead of '/usr/bin/ld.bfd' on OpenBSD, which
silently produced broken executables, which made this bug even more "fun" to
find. :)
git-svn-id: trunk@42128 -
2019-05-26 16:57:08 +00:00
nickysn
0c471494e8
* use explicitly GNU LD ('ld.bfd') on OpenBSD, instead of the default 'ld'
...
linker, because in OpenBSD 6.5, it has been replaced with the LLVM linker and
the LLVM linker produces broken position independent executables with FPC.
git-svn-id: trunk@42127 -
2019-05-26 16:51:51 +00:00
Jonas Maebe
77658b925b
* disable regular array -> dynamic array type coversion support unless
...
{$modeswitch arraytodynarray} is active (mantis #35576 )
o changed compiler to compile without this modeswitch
o added the modeswitch to a test that depends on it
git-svn-id: trunk@42118 -
2019-05-25 12:31:32 +00:00
pierre
c752aa5cf5
Avoid incomplete case warning when compiled with -dTEST_WIN32_SEH
...
git-svn-id: trunk@42115 -
2019-05-24 10:14:51 +00:00
pierre
769f85783a
List TSettings partially and improve generic output
...
git-svn-id: trunk@42111 -
2019-05-20 22:06:57 +00:00
pierre
dd418f24b5
Add DEBUG_PPU conditional code to be able to debug ppu changes (only useful for debugging purposes)
...
git-svn-id: trunk@42110 -
2019-05-20 12:48:12 +00:00
Jonas Maebe
aad87820e6
* abstracted registration of library init/fini routines (to be able to add
...
LLVM support)
git-svn-id: trunk@42104 -
2019-05-19 19:20:47 +00:00
Jonas Maebe
a418dc6c91
* made the fields array parameter of llvmgettemprecorddef "const", as it
...
doesn't get modified and hence doesn't need to be copied
git-svn-id: trunk@42103 -
2019-05-19 19:20:42 +00:00
Jonas Maebe
4c34b7b67d
* fixed memory leak
...
git-svn-id: trunk@42101 -
2019-05-19 19:20:34 +00:00
Jonas Maebe
eb0f02348d
* fixed loading parent frame pointer for nested procvars on targets that
...
that use explicit parentfp structs (fixes webtbs/tw17379 for llvm)
git-svn-id: trunk@42100 -
2019-05-19 19:20:29 +00:00
Jonas Maebe
47812c8a3d
* don't double-define function aliases for Darwin defined via ".set" directive
...
git-svn-id: trunk@42095 -
2019-05-18 18:41:38 +00:00
Jonas Maebe
8ec3cd6390
* append rather than insert the alias symbols for the program/procedure
...
initialisation/finalisation routines
o this ensures the procdef's mangled name and its first symbol match,
which is required for Darwin when generating debug information and
using ".set" directives to define alias symbols, because a symbol
defined via ".set" cannot be used in a data relocations (and the DWARF
debug generator uses the default mangled name, which used to correspond
to the alias symbol due to the "insert" instead of "append")
git-svn-id: trunk@42094 -
2019-05-18 18:41:33 +00:00
Jonas Maebe
332679e28a
* updated German message files (patch by Karl-Michael Schindler,
...
mantis #35559 )
git-svn-id: trunk@42092 -
2019-05-18 12:29:35 +00:00