Commit Graph

36309 Commits

Author SHA1 Message Date
Jonas Maebe
dc70db9402 * parameter passing support for AIX:
o the last bytes of records passed by value whose size is not a multiple
     of the register size must be passed in the upper (leftmost) bytes of
     a register

git-svn-id: trunk@20804 -
2012-04-11 18:02:13 +00:00
Jonas Maebe
273b90fc37 + AIX assembler writer
o .short/.long/.llong are automatically aligned to 2/4/8 byte multiples
     by the AIX assembler (and for compatibility reasons, also by the
     GNU assembler when targeting AIX) -> change to .vbyte statements
  o .ascii does not allow non-ASCII characters in the AIX assembler
    -> change to .byte sequences like gcc on AIX

git-svn-id: trunk@20803 -
2012-04-11 18:02:08 +00:00
Jonas Maebe
260958eb45 * changed last parameter of g_indirect_sym_load() to a set and also
pass on whether the symbol refers to code or data (important for
    AIX weak symbols; note that AIX does not support undefined weak
    external symbols, and FPC does not yet support weakly defining
    non-external symbols, so this functionality isn't really used yet)

git-svn-id: trunk@20802 -
2012-04-11 18:02:03 +00:00
Jonas Maebe
ac43eb9b70 + generic implementation of ReplaceForbiddenAsmSymbolChars() instead
of the AVR-specific ifdef'ed variant
   o since the only special character we use in mangled names on all platforms
     is $, added a new field to tasminfo called "dollarsign" that holds the
     character $'s should be replaced with (if it doesn't have to be replaced,
     leave it at $)

git-svn-id: trunk@20801 -
2012-04-11 18:01:57 +00:00
Jonas Maebe
23df85e52a * initialize dirhint field of created tasmconds
git-svn-id: trunk@20800 -
2012-04-11 18:01:49 +00:00
Jonas Maebe
aaf6015b51 * converted tai directive string from pshortstring to ansistring (some
AIX directives are quite long)

git-svn-id: trunk@20799 -
2012-04-11 18:01:41 +00:00
Jonas Maebe
7a92d5e912 + TExternalAssembler.AsmWrite(ansistring) (from JVM branch), needed to be
able to write long tasmdirective strings required by AIX target

git-svn-id: trunk@20798 -
2012-04-11 18:01:35 +00:00
Jonas Maebe
71106219f2 * detect RTOC-based accesses on AIX in inline assembly, and change the
symbol names to those of the associated TOC entries

git-svn-id: trunk@20797 -
2012-04-11 18:01:29 +00:00
Jonas Maebe
b738657bf3 * on AIX, functions are called via function descriptors whose name
is '.' followed by the function symbol name (like on linux/ppc64)

git-svn-id: trunk@20796 -
2012-04-11 18:01:21 +00:00
Jonas Maebe
4123df9cb8 * moved g_external_wrapper() code from powerpc64/cgcpu to ppcgen/cgppc,
made it 32/64 bit neutral and adjusted it so it can be used for
   linux/ppc64, aix/ppc and aix/ppc64

git-svn-id: trunk@20795 -
2012-04-11 18:01:14 +00:00
Jonas Maebe
95966da949 + AIX support for a_call_reg()
* renamed some ppc64 stackframe offset constants to the same names as their
    32 bit counterparts so they can be used in shared ppc code

git-svn-id: trunk@20794 -
2012-04-11 18:01:01 +00:00
Jonas Maebe
509df28361 + AIX symbol handling: load symbol address from the TOC
* fixed code dealing with symbol+offsets on 64 bit platforms in
    case of offsets > 32 bit (and to use smallint() typecasts
    instead of lo(), since the return value of lo() depends on
    the type passed in)

git-svn-id: trunk@20793 -
2012-04-11 18:00:48 +00:00
Jonas Maebe
481b3d99a9 * just like Darwin and Classic Mac OS, AIX uses the system crt* files and
hence contains a dummy "main" that refers to the system unit
    FPC_SYSTEMMAIN, which in turn jumps to the main program's PASCALMAIN
  * we call FPC_SYSTEMMAIN instead of jumping to it like on Darwin, so that
    the TOC gets set correctly

git-svn-id: trunk@20792 -
2012-04-11 18:00:43 +00:00
Jonas Maebe
57908f528b * AIX-specific struct alignment rules
o doubles are aligned to 8 bytes outside records, but to 4 bytes
     inside them
   o same as for Darwin/PPC: if the first field of a record has 8 byte
     alignment (including double!), then the struct itself gets 8 byte
     alignment

git-svn-id: trunk@20791 -
2012-04-11 18:00:37 +00:00
Jonas Maebe
462de0f5fd + AIX target definition and info for the compiler and ppudump
git-svn-id: trunk@20790 -
2012-04-11 18:00:29 +00:00
Jonas Maebe
452414e1a7 - removed cg.g_indirect_sym_load() calls from pass_generate_code; this
routine is called from tcgppcgen.fixref()/tcgx86.make_simple_ref()
    when necessary

git-svn-id: trunk@20789 -
2012-04-11 18:00:21 +00:00
Jonas Maebe
7c0469e1fd * link libbsd for AIX, because several UNIX routines are part of its BSD
Compatibility library

git-svn-id: trunk@20788 -
2012-04-11 18:00:08 +00:00
Jonas Maebe
b0e4263fee + aix support in fpcmake and fpmake
git-svn-id: trunk@20787 -
2012-04-11 17:59:59 +00:00
Jonas Maebe
8d8fc0fdee + RTL for AIX
git-svn-id: trunk@20786 -
2012-04-11 17:59:49 +00:00
sergei
91f770d774 + TXmlReader.NameTable public property
+ report SystemID and PublicID of DTD as attributes

git-svn-id: trunk@20785 -
2012-04-11 16:36:13 +00:00
pierre
8d6c5f1ecc Use mmx_support to decide to use xmState or x87state part of sigcontext
git-svn-id: trunk@20784 -
2012-04-11 13:22:58 +00:00
pierre
d3e32d4fa7 Correct several record fields
git-svn-id: trunk@20783 -
2012-04-11 13:21:38 +00:00
pierre
2d130d20e7 + Add forward declaration of InstallDefaultSignalHandler for use inside sighnd.inc
git-svn-id: trunk@20782 -
2012-04-11 12:56:11 +00:00
marco
a9e189ca31 * fix typing of some macro2procedure conversions. Mantis #21696
git-svn-id: trunk@20781 -
2012-04-10 13:40:29 +00:00
michael
1eca76dec5 * No change when clearing empty collection
git-svn-id: trunk@20780 -
2012-04-10 08:04:34 +00:00
michael
d3fa1b4979 * Fix for bug #21691
git-svn-id: trunk@20779 -
2012-04-10 07:49:40 +00:00
paul
75eaad88fb compiler: don't crash after r20753
git-svn-id: trunk@20778 -
2012-04-10 01:19:10 +00:00
sergei
bed154d366 * Modified helper TLoader class to access reader node data via an interface, instead of using fields directly.
git-svn-id: trunk@20777 -
2012-04-09 22:10:29 +00:00
pierre
34a4ee46ff Use elf32 binary writer for i386 netbsd target
git-svn-id: trunk@20776 -
2012-04-09 22:00:54 +00:00
pierre
db3346994c * Use correct sign extension for FPC_DOSYS1w
git-svn-id: trunk@20775 -
2012-04-09 21:57:13 +00:00
pierre
b98529673c Explicitly set fpSigAction return value
git-svn-id: trunk@20774 -
2012-04-09 21:56:02 +00:00
pierre
ae83b5ce92 Return -1 for fpIOPL and set errno to ESysENoSys for non-linux systems
git-svn-id: trunk@20773 -
2012-04-09 21:55:18 +00:00
pierre
55665c6713 Set local variable s to empty string at entry of transform_cp437_to_UTF8 function
git-svn-id: trunk@20772 -
2012-04-09 21:54:19 +00:00
pierre
f052ced5c3 Fix VarEnsureRange use of Result before being set
git-svn-id: trunk@20771 -
2012-04-09 21:52:47 +00:00
michael
3112cfbdd3 * Fix for bug #0021687 by Domingo Alvarez Duarte
git-svn-id: trunk@20770 -
2012-04-09 15:15:18 +00:00
sergei
69ca1accde * Added NameTable property to TXMLReaderSettings
* Removed redundant ANameTable parameters from some TXMLTextReader constructors
* TDOMParser.ParseWithContext: fixed accessing the document (it may be the context node itself)

git-svn-id: trunk@20769 -
2012-04-08 22:46:41 +00:00
pierre
db525785c8 * Fix typo in last commit
git-svn-id: trunk@20767 -
2012-04-08 21:42:20 +00:00
pierre
8e3da0c7e6 + Add netbsd x86_64 support for intAssignPipe
git-svn-id: trunk@20766 -
2012-04-08 21:32:37 +00:00
Tomas Hajny
46d3da9ca3 * message include files regenerated
git-svn-id: trunk@20764 -
2012-04-08 20:02:12 +00:00
Tomas Hajny
b11a2b169a * fixed inconsistent license files references
git-svn-id: trunk@20763 -
2012-04-08 20:00:45 +00:00
joost
d6033c7890 * Always notice when an external command is executed
* Do not change the current dir in ResolveFileNames when this is already done

git-svn-id: trunk@20762 -
2012-04-08 19:44:46 +00:00
joost
f8ab6e8adb * The hack calling ResolveFileNames directly does not work anymore
git-svn-id: trunk@20761 -
2012-04-08 19:25:56 +00:00
marco
dea196cddb * added some ifdef unicode for mantis #21667
git-svn-id: trunk@20760 -
2012-04-08 18:28:50 +00:00
pierre
ad2ec8c76d New OpenBSD-x86_64 C compiled objects
git-svn-id: trunk@20759 -
2012-04-08 17:47:48 +00:00
marco
675930bd50 * commited copy-n-pase fix from #21679, patch by Domingo Alvarez Duarte.
git-svn-id: trunk@20758 -
2012-04-08 17:46:14 +00:00
pierre
dd673d378f * Use RIP relative addressing for FPC system_parameter variables
git-svn-id: trunk@20757 -
2012-04-08 17:42:23 +00:00
marco
de8427b8ec * renamed foldstate to fsavedstate. Mantis #19542
git-svn-id: trunk@20756 -
2012-04-08 13:00:42 +00:00
joost
77401bda33 * Fixed warning about an example-file not being found
git-svn-id: trunk@20755 -
2012-04-07 21:48:40 +00:00
joost
324ad5fd06 * Fixed typo (warning) in fpmake.pp file
git-svn-id: trunk@20754 -
2012-04-07 21:31:39 +00:00
florian
dd70debe80 * records containing managed types are not "regable", resolves #21674
git-svn-id: trunk@20753 -
2012-04-07 20:19:48 +00:00