Commit Graph

44337 Commits

Author SHA1 Message Date
Jeppe Johansen
cc418eef74 Added unified assembler syntax mode so it can be selected with $ASMMODE.
Fixed bug in Mov instruction.
Added initial scanning of IT/LastInIT detection for proper instruction selection.
Disabled "wide" format flag detection again for now.

git-svn-id: branches/laksen/armiw@29338 -
2014-12-27 00:19:09 +00:00
Jeppe Johansen
6976af8365 Change .thumb_func to be an ait_directive instead of it's own tai type.
git-svn-id: branches/laksen/armiw@29334 -
2014-12-26 23:13:14 +00:00
Jeppe Johansen
9683102813 BL/BLX in thumb mode is a long composed instruction in Thumb as well as Thumb2
git-svn-id: branches/laksen/armiw@29333 -
2014-12-26 23:10:34 +00:00
Jeppe Johansen
9227a9fcf2 Reenable check for Wide format flag.
git-svn-id: branches/laksen/armiw@29331 -
2014-12-26 20:08:07 +00:00
Jeppe Johansen
5c3093a937 Add most non-VFP Thumb-2 instruction entries for the ARM internal writer.
git-svn-id: branches/laksen/armiw@29329 -
2014-12-26 18:35:15 +00:00
Jeppe Johansen
3cb9b30165 Added full 16-bit Thumb support to the ARM internal writer.
git-svn-id: branches/laksen/armiw@29326 -
2014-12-25 19:33:14 +00:00
Jeppe Johansen
0494f48bfc Fix capability matrix for ARMv5. It should not have thumb support.
git-svn-id: branches/laksen/armiw@29287 -
2014-12-14 16:49:28 +00:00
Jeppe Johansen
901275b4a1 Switch back to emitting BLX instructions and fix calculation of constant offsets(should rarely/never happen).
Add missing fields to other elf targets.

git-svn-id: branches/laksen/armiw@29286 -
2014-12-14 16:28:35 +00:00
Jeppe Johansen
b4a4dda4e5 Make sure to change BLX instructions back to BL when the target is not a Thumb function.
git-svn-id: branches/laksen/armiw@29282 -
2014-12-13 18:18:51 +00:00
Jeppe Johansen
fe0cdcfb2e Add a small function to handle encoding of CPU specific ELF flags. This is used to encode EABI version for ARM.
git-svn-id: branches/laksen/armiw@29281 -
2014-12-13 17:16:25 +00:00
Jeppe Johansen
6c4dbf5a84 Change emission of pre-reloc BLX to BL.
git-svn-id: branches/laksen/armiw@29278 -
2014-12-12 23:12:53 +00:00
Jeppe Johansen
387824c1ee Added some APSR register bitmask definitions.
Fixed a bunch of instruction encodings by comparing bulks of handwritten tests to binutils assembled versions.
Fixed emission of regsets of S and D registers above 15.
Fixed assembler reader for RRX shiftmode.
There can be a size postfix after a condition code in UAL assembler syntax. This has been added to the assembler reader.

git-svn-id: branches/laksen/armiw@29277 -
2014-12-12 22:23:44 +00:00
Jeppe Johansen
414bfba2b2 Emitted instruction was B instead of BL for BL/BLX.
git-svn-id: branches/laksen/armiw@29262 -
2014-12-11 22:11:10 +00:00
Jeppe Johansen
e8cb1e198d Forgot to rebuild instruction tables.
git-svn-id: branches/laksen/armiw@29261 -
2014-12-11 21:58:05 +00:00
Jeppe Johansen
0b5bcdf439 Modify fixup of BL/BLX instructions and ensure proper form is generated.
git-svn-id: branches/laksen/armiw@29260 -
2014-12-11 21:50:44 +00:00
Jeppe Johansen
284a4d9dd7 Encoding of preindexed LDRH/STRH opcodes was missing.
git-svn-id: branches/laksen/armiw@29254 -
2014-12-11 11:20:25 +00:00
Jeppe Johansen
b5cd9c048e Small fix for uninitialized variables causing warnings.
git-svn-id: branches/laksen/armiw@29253 -
2014-12-11 09:26:48 +00:00
Jeppe Johansen
eb3eaab54b Fix some small encoding bugs.
git-svn-id: branches/laksen/armiw@29250 -
2014-12-10 23:28:09 +00:00
Jeppe Johansen
9e5979e8be Implemented UAL syntax support in the ARM assembler reader. Can be toggled with a field for now, but not implemented yet. Still using pre-UAL syntax for now.
Switched codegeneration of VFPv2 and VFPv3 to use UAL mnemonics and syntax.
Updated VFP code in RTL to use UAL syntax too.
Added preliminary ELF support for ARM.
Added support for linking of WinCE COFF files. Should work for with a standard ARMv4-I target.

git-svn-id: branches/laksen/armiw@29247 -
2014-12-10 20:44:34 +00:00
Jeppe Johansen
d023c63ad0 Add a lot of instruction table entries and missing instructions for support of most ARM32 mode instructions from ARMv4 up ARMv7A.
Add some VFP registers.
Rebuilt tables.
Added a lot of VFPv3 and Advanced SIMD(not supported yet) oppostfixes.
Implemented code in aasmcpu to generate binary code from the instructions. Only ARM32 supported so far.

git-svn-id: branches/laksen/armiw@29246 -
2014-12-10 20:38:23 +00:00
Jeppe Johansen
dbea8c2507 Branch for internal ARM writer based on patch from Anton in #26588.
git-svn-id: branches/laksen/armiw@29245 -
2014-12-10 20:21:35 +00:00
joost
6c29775e09 * Use separate repositories for each compiler
version by adding the version-number to the repository url

git-svn-id: trunk@29244 -
2014-12-10 09:50:12 +00:00
lacak
6c10d2ddad fcl-db: sqlite: map INTEGER PRIMARY KEY columns (ROWID) to TAutoIncField (as part of adding support for Refreshing AutoInc fields)
Update tests (use as test table FPDEV2, which is automatically removed at end of test, remove unused variables)

git-svn-id: trunk@29243 -
2014-12-10 07:31:58 +00:00
sergei
8f4430e795 * tcg.translate_register: check that reg.allocator is not nil before calling its method (in case of "assembler nostackframe" function returning an x87 float compiler tries to translate NR_ST which is used for function result).
* tcg.a_reg_dealloc: ignore NR_NO, prevents creating useless deallocations of NR_DEFAULTFLAGS on MIPS targets which have NR_DEFAULTFLAGS=NR_NO.

git-svn-id: trunk@29242 -
2014-12-10 07:13:14 +00:00
svenbarth
fe49a4b60c Fix Fp*Stat calls when compiling with FPC_USE_LIBC for x86_64-linux.
rtl/linux/ostypes.inc:
  * correctly define the _STAT_VER_* constants for x86_64 (the ifdefs are based on those in the C header; for other platforms this needs to be checked)

git-svn-id: trunk@29241 -
2014-12-09 21:23:39 +00:00
svenbarth
01278e2800 Fix three warnings when compiling with FPC_USE_LIBC.
osmacro.inc:
  * FpFstat, fpLstat and FpStat: correctly set the result value instead of relying on the result location being the same for cdecl functions as for register functions

git-svn-id: trunk@29240 -
2014-12-09 21:21:45 +00:00
svenbarth
e2c546b26f Regenerate msg*.inc files
git-svn-id: trunk@29239 -
2014-12-09 21:20:05 +00:00
svenbarth
e614914016 Fix a grammatical error in warning asmr_w_global_access_without_got
git-svn-id: trunk@29238 -
2014-12-09 21:19:21 +00:00
lacak
e26d106b5b fcl-db: sqldb: some databases supports inserting of explicit values into "autoincrementing" columns. So in case when ftAutoInc field has already supplied value, do not do fetch of LastID
git-svn-id: trunk@29237 -
2014-12-09 10:46:06 +00:00
Tomas Hajny
dbd07e7583 * add missing description for regexpr
git-svn-id: trunk@29236 -
2014-12-08 23:26:25 +00:00
Tomas Hajny
fb95334a66 * add missing description for zlib
git-svn-id: trunk@29235 -
2014-12-08 23:21:33 +00:00
Tomas Hajny
c4abfa3788 * add missing description for x11
git-svn-id: trunk@29234 -
2014-12-08 23:20:38 +00:00
Tomas Hajny
d12beae03e * add missing description for unzip
git-svn-id: trunk@29233 -
2014-12-08 23:19:15 +00:00
Tomas Hajny
a685a34455 * add missing description for tcl
git-svn-id: trunk@29232 -
2014-12-08 23:16:03 +00:00
Tomas Hajny
b3bc8cafdf * add missing description for paszlib
git-svn-id: trunk@29231 -
2014-12-08 23:13:35 +00:00
Tomas Hajny
4f411386f0 * add missing description for pasjpeg
git-svn-id: trunk@29230 -
2014-12-08 23:11:28 +00:00
Tomas Hajny
63ba5f7c56 * add missing description for os2units
git-svn-id: trunk@29229 -
2014-12-08 23:11:15 +00:00
Tomas Hajny
265e4be91b * add missing description for openssl
git-svn-id: trunk@29228 -
2014-12-08 23:05:57 +00:00
Tomas Hajny
5106845872 * add missing description for libpng
git-svn-id: trunk@29227 -
2014-12-08 23:02:10 +00:00
Tomas Hajny
f2ed4e2843 * add missing description for libgd
git-svn-id: trunk@29226 -
2014-12-08 22:57:55 +00:00
Tomas Hajny
486744d8b1 * add missing space in description
git-svn-id: trunk@29225 -
2014-12-08 22:52:53 +00:00
Tomas Hajny
0da835c324 * fix copy'n'paste error - add real description
git-svn-id: trunk@29224 -
2014-12-08 22:51:33 +00:00
Tomas Hajny
1c1fa9f691 * fix typo (asynch_r_onous)
git-svn-id: trunk@29223 -
2014-12-08 22:50:45 +00:00
marcus
96ac520e73 AmiCommon: DiskFree/DiskSize for >2GB
AROS: fast BPTR Pointer (ABIv0)

git-svn-id: trunk@29222 -
2014-12-08 21:49:01 +00:00
Tomas Hajny
c4eca70656 + added new command 'pkglist' for listing of packages in format compatible with 'install.dat' file used by the text-mode installer - primarily for GO32v2 and OS/2 targets
git-svn-id: trunk@29221 -
2014-12-08 17:58:34 +00:00
joost
587d2247bc * Fixed help for ignoreinvalidoption which is a flag
git-svn-id: trunk@29220 -
2014-12-08 15:55:07 +00:00
joost
d3c2306586 * Pass correct baseinstalldir to fpmake when doing a cross-zipinstall from
a unix system to a non-unix system. Bug #27114

git-svn-id: trunk@29219 -
2014-12-08 14:29:27 +00:00
Jonas Maebe
cec82a1540 * translate placeholder code page numbers into actual code pages in
fpc_ansistr_to_widechararray(), so that CP_ACP/CP_OEM etc are properly
    handled (fixes assign/assignfile with non-ansi characters in source files
    that don't explicitly specify the code page)

git-svn-id: trunk@29218 -
2014-12-08 12:11:33 +00:00
marco
3e24a9ebfd * Patch from #27002, better handling of terminating #0's.
git-svn-id: trunk@29217 -
2014-12-08 10:03:09 +00:00
florian
8508d25f8e * compilation fixed
git-svn-id: trunk@29216 -
2014-12-07 22:01:50 +00:00