Commit Graph

48312 Commits

Author SHA1 Message Date
svenbarth
5be046d8dc Consider the revisions for indirectly loading global variables as merged.
Merged revision(s) 28642-28688 from branches/svenbarth/packages:
Generate indirect symbols for global variables and load them indirectly when necessary.

ptconst.pas, read_typed_const:
  * generate an indirect symbol for the const data using the indirect_suffix constant
ngenutil.pas, tnodeutils.insertbssdata:
  * generate an indirect symbol for the uninitialized data using the indirect_suffix constant
ncgld.pas, tcgloadnode.pass_generate_code:
  * load static variables indirectly if the following conditions are true:
      - the target supports packages (otherwise this is a waste of cycles)
      - the variable is not external
      - IMPORTEDDATA is active
      - the variable is loaded from a different unit
........
Forgot a variable declaration
........

git-svn-id: trunk@33449 -
2016-04-08 14:24:12 +00:00
svenbarth
9857a27ad8 Generate and use an indirect symbol for VMTs.
Note: the merged code has been adjusted to a) use the typed constant builder and b) to not use the indirect symbol when its not necessary (non-Windows or same unit)

Merged revision(s) 28340, 28350 from branches/svenbarth/packages:
Generate an indirect VMT symbol for each generated VMT.

ncgvmt.pas, TVMTWriter:
  * writevmt: write a symbol with the indirect VMT name that references the direct VMT symbol
........
Load the VMT using the indirect symbol if the target supports packages.

ncgmem.pas, tcgloadvmtaddrnode:
  * pass_generate_code: if tf_supports_packages is set in target_info.flags we load the VMT using the indirect symbol, otherwise we load it using the direct symbol

........

git-svn-id: trunk@33448 -
2016-04-08 14:21:51 +00:00
svenbarth
140f5b5f94 Write indirect symbols for the RTTI (basically a merge of r28238, but using the typed constant builder and the new indirect asmbinds)
ncgrtti.pas, TRTTIWriter:
  * write_rtti & write_rtti_extrasyms: generate an indirect symbol for each of the RTTI symbols (they are not used yet, but soon will be)
  * write_rtti: reorder operations a bit: first free the tcb (we don't need it anymore), then write the indirect symbol and only then write any extra symbols that might be needed (this way the RTTI data and the indirect symbol will be next to each other)
  

git-svn-id: trunk@33447 -
2016-04-08 13:39:04 +00:00
Károly Balogh
4e964c2ed7 m68k: rewrote fixref and a_load_ref_ref, fixing a bunch of problems on ColdFire, unifying and simplifying the code a lot, and hopefully not killing anything in the process
git-svn-id: trunk@33446 -
2016-04-08 03:27:19 +00:00
Károly Balogh
96fe4313dd m68k: fixed spilling code interfering with some ADDQ/SUBQ/MOV3Q instructions, fixes paszlib failing since r32830
git-svn-id: trunk@33445 -
2016-04-08 03:21:09 +00:00
yury
a934312e4f * pas2jni: Minor fix to exe extension.
git-svn-id: trunk@33436 -
2016-04-07 13:17:46 +00:00
yury
288f7285a3 * pas2jni: Fixed exit code.
git-svn-id: trunk@33435 -
2016-04-07 13:08:47 +00:00
marco
39f1244041 * fix mantis #29970
git-svn-id: trunk@33432 -
2016-04-07 09:30:03 +00:00
michael
438995b249 * Fix some hints
git-svn-id: trunk@33431 -
2016-04-06 21:26:15 +00:00
Legolas
3f80e9e221 * libndsfpc updated to ver. 1.5.12
git-svn-id: trunk@33429 -
2016-04-06 19:13:31 +00:00
michael
3c9f25c987 * Some Fixes/Improvements from Graeme
git-svn-id: trunk@33428 -
2016-04-06 17:22:37 +00:00
lacak
e75cc6626b fcl-db: bufdataset: cosmetic (remove unused/unneeded parts of code)
git-svn-id: trunk@33427 -
2016-04-06 06:05:00 +00:00
marco
71386f02cd * another msgtyp
git-svn-id: trunk@33424 -
2016-04-05 11:04:28 +00:00
lacak
8833c043b3 fcl-db: bufdataset: reimplement re-linking of records in update buffer.
Do not store NextBookmarkData during insertion, but determine next record of reverted record during cancel update

git-svn-id: trunk@33422 -
2016-04-04 12:44:49 +00:00
lacak
a820b5997b fcl-db: bufdataset: efficient implementation of SameBookmarks method
git-svn-id: trunk@33421 -
2016-04-04 11:32:18 +00:00
lacak
68f626f725 fcl-db: bufdataset: implement RevertRecord method for canceling one record cached update.
(There might be problem in special cases when data are saved/restored)

git-svn-id: trunk@33420 -
2016-04-04 11:24:09 +00:00
sergei
f73b3c6e4b * Also assign the ErrorCode variable, which is being checked by some tests like test/tstack.pp.
git-svn-id: trunk@33419 -
2016-04-03 22:26:10 +00:00
florian
406e3c4ac1 + support xgetbv instruction, resolves issue #29958
git-svn-id: trunk@33418 -
2016-04-03 20:53:10 +00:00
Jonas Maebe
1e1b36515e * don't narrow expressions that contain a mod/div followed by an "and",
since the mod/div get a different result if calculated using fewer
    bits (mantis #29930)

git-svn-id: trunk@33413 -
2016-04-02 22:09:34 +00:00
michael
ad34300873 * Patch from Denis Kozlov to fix buffer errors (bug ID 29942)
git-svn-id: trunk@33406 -
2016-04-02 09:13:56 +00:00
michael
18447a39c4 * Fix font encoding and unicode issues, rework tests to work with val()
git-svn-id: trunk@33401 -
2016-03-31 13:54:31 +00:00
michael
1a032303ff * Fix bug #29935
git-svn-id: trunk@33397 -
2016-03-31 12:12:04 +00:00
Jonas Maebe
8c0d9b581c * don't write the destination register in a_load_ref_reg_unaligned() before
the reference has been used for the last time, as the destination
    register could be the base or index register of the reference

git-svn-id: trunk@33393 -
2016-03-30 20:04:31 +00:00
marco
2221e4e4bd * fix timespec=nil for -dgeneric_linux_syscalls (aarch64) case.
git-svn-id: trunk@33392 -
2016-03-30 19:21:05 +00:00
pierre
78da04f8d5 + Add verbose boolean variable, set to false by default,
set to true by setting environment variable DOSBOX_VERBOSE.
  Most output generated by the wrapper is now only given if 
  verbose is true.
  + New constant SkipUntilText, default value 'Drive C is mounted as ',
  allow to discard output generated by dosbox program up to the line
  containing this string.

git-svn-id: trunk@33385 -
2016-03-30 07:42:35 +00:00
marco
7b4229b83e * include platform.inc in sysmsg because that unit tests directives that
are set only there (like OS_WINDOWS). Suggestion by Joe Care mantis #29926

git-svn-id: trunk@33383 -
2016-03-29 19:17:51 +00:00
Jonas Maebe
a5dba44fd3 * fixed sign extension for unaligned loads (mantis #29891, although that
code shouldn't use unaligned loads in the first place)

git-svn-id: trunk@33382 -
2016-03-29 14:52:27 +00:00
Jonas Maebe
322493c195 * fixed overflow checking on AArch64 for signed multiplications with zero
(mantis #29912)

git-svn-id: trunk@33380 -
2016-03-29 09:50:42 +00:00
Jonas Maebe
73a303c899 * no need to call maybeadjustresult() after performing a 64 bit operation
git-svn-id: trunk@33379 -
2016-03-29 09:50:39 +00:00
michael
3e96806f7e Renamed DisposeAndNil to FreeMemAndNil
git-svn-id: trunk@33378 -
2016-03-29 07:55:58 +00:00
michael
92b8bf97c0 * Added DisposeAndNil (bug ID 28895)
git-svn-id: trunk@33377 -
2016-03-29 07:33:28 +00:00
florian
6e56f5c191 * fixed exe output path
git-svn-id: trunk@33376 -
2016-03-28 20:44:08 +00:00
florian
8d5cc3dfa4 * (extended and modified) patch by Emelyanov Roman to add suport of RDRAND, RDSEED and TSX instructions set, resolves issue #29893.
In comparison with the original patch, support for a i386 has been added as well as a test program. 
  Further, a small issue with xbegin has been fixed

git-svn-id: trunk@33375 -
2016-03-28 19:08:13 +00:00
nickysn
b562bcfdbd * fixed the alignment filler in code sections on i8086 to always use nops,
instead of using the optimized instructions for 386+, which assume also a
  32-bit address and operand size, so they didn't work even on a 386+ in real
  mode

git-svn-id: trunk@33371 -
2016-03-28 15:04:28 +00:00
michael
13e1bf4066 * Patch from stephano to fix header parsing (bug ID 29918)
git-svn-id: trunk@33364 -
2016-03-28 13:28:14 +00:00
michael
e3aaeae2e7 * Fix bug ID #29913
git-svn-id: trunk@33363 -
2016-03-28 13:16:31 +00:00
michael
231ec77175 * Delphi compatibility classes (Patch by Silvio Clecio, bug ID #29917)
git-svn-id: trunk@33362 -
2016-03-28 12:57:42 +00:00
michael
62b2b65110 * Fix bug ID #18853
git-svn-id: trunk@33361 -
2016-03-28 11:09:41 +00:00
michael
b000a31abd * Make sure UTF8 is supported for all filenames when unzipping (bug ID 25982)
git-svn-id: trunk@33360 -
2016-03-28 09:39:53 +00:00
marco
7cda2d237f * improved prototypes for dos.
git-svn-id: trunk@33356 -
2016-03-27 21:13:24 +00:00
marco
e7eb7d7415 * dummy executeprocess routines fix, by Michael Ring, fpc-devel list.
git-svn-id: trunk@33355 -
2016-03-27 19:27:48 +00:00
michael
9501faa00b * Added LastError and LastErrorMsg (bug ID 29681)
git-svn-id: trunk@33348 -
2016-03-27 17:31:59 +00:00
michael
fb984ad18a * Fix bug ID #25817, wrong size for msqid_ds
git-svn-id: trunk@33347 -
2016-03-27 13:36:48 +00:00
michael
65c880a7f6 * Use STACK_SIZE_PARAM_IS_A_RESERVATION for stack sizes, should fix bug ID #17755
git-svn-id: trunk@33346 -
2016-03-27 11:12:47 +00:00
michael
12d7061212 * Define STACK_SIZE_PARAM_IS_A_RESERVATION
git-svn-id: trunk@33345 -
2016-03-27 11:11:54 +00:00
michael
f380aeb63d * Fix from Andrea Mauri to make formatfloat delphi-compatible in case of negative zero (bug ID 26465)
git-svn-id: trunk@33344 -
2016-03-27 10:40:09 +00:00
michael
bcdfe055a8 * Fix bug ID #26944 (thousandseparator, patch from wp)
git-svn-id: trunk@33343 -
2016-03-27 10:13:16 +00:00
michael
2ec2f1fc16 * Fix bug in WrapText (bug ID 26677)
git-svn-id: trunk@33342 -
2016-03-27 09:41:23 +00:00
michael
493db55664 * Some improvements to gHashmap by lks (bug ID 23943)
git-svn-id: trunk@33341 -
2016-03-27 08:14:46 +00:00
michael
960963e74b * SearchAttr needs more bits (faSymlink=$400), bug ID #29870
git-svn-id: trunk@33340 -
2016-03-27 00:01:14 +00:00