Commit Graph

39421 Commits

Author SHA1 Message Date
nickysn
6fb9e3cfa5 the basic i8086 units: cpuinfo and cpubase
git-svn-id: branches/i8086@23716 -
2013-03-07 23:09:03 +00:00
nickysn
72fcc2b9bd added 'msdos' 16-bit real mode dos target
git-svn-id: branches/i8086@23715 -
2013-03-07 23:07:20 +00:00
nickysn
4440015db3 added i8086 specific adaptations to the NASM assembly writer
git-svn-id: branches/i8086@23714 -
2013-03-07 22:51:42 +00:00
nickysn
a4b1a9011b i8086 specific stuff added to x86/cpubase.pas
git-svn-id: branches/i8086@23713 -
2013-03-07 22:49:35 +00:00
nickysn
a9809323dc some more generic i8086 defines added
git-svn-id: branches/i8086@23712 -
2013-03-07 22:46:00 +00:00
nickysn
94e8690e2e oops, forgot about systems.pas in the previous commit
git-svn-id: branches/i8086@23711 -
2013-03-07 22:40:52 +00:00
nickysn
44ffc298d5 cpu_i8086 and system_i8086_msdos added to the systems.inc enums
git-svn-id: branches/i8086@23710 -
2013-03-07 22:38:35 +00:00
nickysn
3a4135c07b ifdef cpu86 replaced with ifdef cpui386
git-svn-id: branches/i8086@23709 -
2013-03-07 22:21:27 +00:00
florian
ca277c873e + branch for i8086 port development
git-svn-id: branches/i8086@23707 -
2013-03-07 20:21:25 +00:00
svenbarth
da7b24e242 Avoid multiple threadvar lookups when querying the current TThread. Inspired by Michael Schnell.
rtl/objpas/classes/classes.inc, TThread.GetCurrentThread:
	* instead of checking CurrentThreadVar and reading it again afterwards we read it first into Result and check this value; this way we have one read access in the normal case and one read and one write access in the worst case

git-svn-id: trunk@23706 -
2013-03-07 20:15:32 +00:00
Jonas Maebe
3cde2b2d84 * fixed check for bitpacked accesses (mantis #24007)
git-svn-id: trunk@23705 -
2013-03-07 15:44:41 +00:00
pierre
eeae77bfc2 Fix wrong cursor pos for 64 bit systems, hopefully fixes bug report 23957
git-svn-id: trunk@23704 -
2013-03-07 13:55:55 +00:00
lacak
2cfcf32725 fcl-db: odbc: enable 64bit support (use SQLLEN, SQLULEN instead of SQLINTEGER, SQLUINTEGER) after ODBC header file was updated for 64 bit support in rev.23702
git-svn-id: trunk@23703 -
2013-03-07 09:17:52 +00:00
michael
94e021157b * Windows 64-bit patches from Laco
git-svn-id: trunk@23702 -
2013-03-07 08:57:18 +00:00
pierre
d9758e5d0e Avoid TARGET_DIRS_TARGET_DIRS garbage by explicitly setting result of string function in AddTargetDefines method to empty at startup
git-svn-id: trunk@23701 -
2013-03-06 16:40:04 +00:00
Jonas Maebe
5d628b29bb * set the subregsize of OS_M64 SSE registers to R_SUBQ so we can
differentiate between 64 bit and 128 bit (R_SUBMMWHOLE) SSE vector regs,
    and support spilling/assembling for R_SUBQ SSE registers (8 bytes)
    (mantis #23962)

    We currently never use the full 128 bit of an SSE register, and
    spilling for those hasn't been implemented yet either (R_SUBMMWHOLE
    SSE regs are spilled into a 4-byte temp currently -> can overwrite data)

git-svn-id: trunk@23700 -
2013-03-06 12:42:46 +00:00
michael
02f64db373 * Fixes for typos from Reinier Olislagers (bug 23895)
git-svn-id: trunk@23699 -
2013-03-06 08:34:20 +00:00
sergei
823e3ea398 MIPS: reworked PIC/call code:
+ Favor 'weak' parameter in a_call_name of both thlcgmips and TCGMIPS.
* make_simple_ref and a_loadaddr_ref_reg: require input references to be 'raw' (no refaddr=addr_pic, etc) and do not use GP as base/index. If it's not true, raise an internal error. When addr_pic_call16 or so needs to be generated, it must be done without calling the mentioned methods.
* thlcgmips.a_call_name: generate PIC sequence for procedures declared as 'external', instead of 'cdecl', this is more correct because ABI has only one calling convention.
- make_simple_ref_fpu removed, there's no reason to handle references to floating-point data in different way.
- a_loadaddr_ref_cgpara override also removed, generic method does the job just well.
- thlcgmips.a_call_ref and a_call_reg overrides removed because indirect calls are now always done using $t9.

git-svn-id: trunk@23698 -
2013-03-05 19:31:20 +00:00
sergei
a1b50f643e - removed never used function.
git-svn-id: trunk@23697 -
2013-03-05 18:05:52 +00:00
pierre
f4b6625145 + Use __setlocale_mb_len_max_32 for netbsd as suggested by linker warning
git-svn-id: trunk@23696 -
2013-03-05 11:40:24 +00:00
yury
5bf237afc1 * Turn off assigning UnixGetModuleByAddrHook for Android, since dladdr() function is not available on old (1.x) Android versions.
git-svn-id: trunk@23695 -
2013-03-05 00:00:02 +00:00
yury
5d061a7efa * Do not use persistent register r5 in the library init code. It fixes crash during library load on some versions of Android. Issue #23974.
* Made the startup code Thumb-safe.

git-svn-id: trunk@23694 -
2013-03-04 23:49:41 +00:00
yury
63d1c3aa94 * Set default CPU armv5t for arm-android. Issue #23973.
git-svn-id: trunk@23693 -
2013-03-04 21:46:36 +00:00
florian
eb46359ae8 * marking r22827 as merged
git-svn-id: trunk@23692 -
2013-03-04 20:49:58 +00:00
florian
c5b8b9406b * merged r22818
git-svn-id: trunk@23691 -
2013-03-04 20:48:55 +00:00
sergei
6fcd9979dd + MIPS: doing progress with linker, implemented processing of local symbols in PIC code and stuff needed to link shared libraries.
git-svn-id: trunk@23690 -
2013-03-04 20:48:33 +00:00
yury
268b2d56d7 * Fixed displaying of compilation time in some cases. For example, if the compilation time is 0.99 seconds, it has been displayed as 0.10. Now it is correctly displayed as 1.0.
git-svn-id: trunk@23689 -
2013-03-04 16:02:51 +00:00
svenbarth
168c9d152f Small optimization for the search of operator overloads. Add a flag "sto_has_generic" to all symtables that contain an operator overload (the flag propagates up the owning symtables) and check this flag when searching for units with operators.
symconst.pas:
  + add "sto_has_operator" to "tsymtableoption"
pdecsub.pas:
  + include the flag "sto_has_operator" for all operator declarations and their owning symtables
htypechk.pas, tcallcandidates:
  * create_candidate_list: only check for operator overloads if the record does indeed declare some
  * collect_overloads_in_units: only check for operator overloads if the unit does indeed declare some
utils/ppudump.pp:
  + respect the new "sto_has_operator" flag

git-svn-id: trunk@23688 -
2013-03-04 16:02:18 +00:00
florian
9198630ce3 * fix armv7m compiler
git-svn-id: trunk@23686 -
2013-03-03 21:59:34 +00:00
pierre
90f4d8ddcd + Add .note.openbsd.ident section, contributed by Pascal Stumpf
git-svn-id: trunk@23685 -
2013-03-03 21:18:20 +00:00
sergei
6484911f05 * TExeOutput.FixupRelocations method made virtual.
* TElfExeOutput.MemPos_Start split into four smaller methods.

git-svn-id: trunk@23684 -
2013-03-03 20:01:54 +00:00
pierre
9c855c7c94 accept anyfile that has the same upeercase name for the mkAmbiguous case if FileNameCaseSensitive is true
git-svn-id: trunk@23683 -
2013-03-03 18:53:12 +00:00
florian
1eeeb309c7 * intial armv6m support, it is not working yet, constant pool insertation and conditional branch fixup is not working yet
git-svn-id: trunk@23682 -
2013-03-03 12:20:10 +00:00
pierre
dce8094a12 Commit regenerated file after commit 23608
git-svn-id: trunk@23681 -
2013-03-02 20:50:12 +00:00
yury
5e369ae7fc * Use UTF-8 as fallback code page on linux and ASCII on other unix systems.
git-svn-id: trunk@23680 -
2013-03-02 09:51:05 +00:00
pierre
72e81d4be8 Add netbsd x86_64 objects
git-svn-id: trunk@23679 -
2013-03-01 16:24:19 +00:00
pierre
e0f2953380 Add missing object files for haiku-i386
git-svn-id: trunk@23678 -
2013-03-01 16:07:25 +00:00
michael
6c0bcfd763 * Patch from Silvio Clecio to fix filename in FileFormPost
git-svn-id: trunk@23677 -
2013-03-01 14:40:19 +00:00
yury
c4ba95b227 * Use CP_ASCII as fallback in GetSystemCodepage to be compatible with cwstring.
git-svn-id: trunk@23676 -
2013-03-01 08:44:05 +00:00
sergei
1421998752 * MIPS register spilling: relocations are not needed to load constant values, and offset limit is 32767, not 4095.
git-svn-id: trunk@23675 -
2013-02-28 20:43:38 +00:00
yury
8bce7058fc * Build unixcp for android too.
git-svn-id: trunk@23674 -
2013-02-28 20:01:50 +00:00
yury
b0d79b7854 * Use UTF-8 as fallback in GetSystemCodepage.
git-svn-id: trunk@23673 -
2013-02-28 19:48:56 +00:00
yury
0ed82d7218 * Use cwstring on unix.
git-svn-id: trunk@23672 -
2013-02-28 19:32:06 +00:00
yury
ee0a338127 * Use the unixcp unit to set a default code page for ansistrings on unix-like systems.
git-svn-id: trunk@23671 -
2013-02-28 18:24:29 +00:00
yury
2b2a68446d * Added new unit unixcp. It contains stuff from winiconv.inc - a table to map Windows code page identifiers to locale names on unix. Also GetSystemCodePage function in this unit can be used to detect which code page is used currently.
* Build unixcp for all unix-like systems.
* Use the unixcp unit in cwstring instead of winiconv.inc.
- Deleted winiconv.inc
- Reverted r22410,r22411,r22428. The compiler will use the unixcp unit to get a default code page for ansistrings.

git-svn-id: trunk@23670 -
2013-02-28 18:21:28 +00:00
michael
b32e74c94c * Removed erroneously committed compacting code
git-svn-id: trunk@23669 -
2013-02-28 16:29:17 +00:00
michael
d02f0b3f54 * Remove erroneous space in front of float number
git-svn-id: trunk@23668 -
2013-02-28 14:41:14 +00:00
michael
08841d6894 * Handle HTTP_AUTHORIZATION
git-svn-id: trunk@23667 -
2013-02-28 11:21:16 +00:00
michael
81e2032bbe * Handle all methods
git-svn-id: trunk@23666 -
2013-02-28 11:20:49 +00:00
lacak
42d11a1274 fcl-db: base: mark ABookmark parameter of TDataset.GotoBookmark method as const.
In trunk TBookmark is of type array of bytes (TBytes), prior this it was Pointer (to memory block of BookmarkSize where is stored "bookmark data").
BufDatset uses GotoBookmark and passes address of bookmark, which is okay when TBookmark was pointer, but when it is dynamic array then on entry into method FPC_DYNARRAY_INCR_REF is called, where is accessed "array header" in unallocated memory, which leads to invalid pointer operation.
Making parameter as const will avoid invoking reference counting mechanism. Bug #23381. Discussed also in DB-Core ML.

git-svn-id: trunk@23665 -
2013-02-28 09:26:25 +00:00