Commit Graph

13088 Commits

Author SHA1 Message Date
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
paul
75eaad88fb compiler: don't crash after r20753
git-svn-id: trunk@20778 -
2012-04-10 01:19:10 +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
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
florian
dd70debe80 * records containing managed types are not "regable", resolves #21674
git-svn-id: trunk@20753 -
2012-04-07 20:19:48 +00:00
florian
6b8a865f93 * update msgidx.inc and msgtxt.inc after r20747
git-svn-id: trunk@20751 -
2012-04-07 19:27:09 +00:00
pierre
02479d0409 Add openbsd/netbsd x86_64 systems to list using 16 for size of cextended type
git-svn-id: trunk@20749 -
2012-04-07 17:03:21 +00:00
Tomas Hajny
a5a7c2aa3e * directions for reporting bugs are different from those for asking questions nowadays
git-svn-id: trunk@20747 -
2012-04-07 16:43:15 +00:00
Tomas Hajny
20ebbefc2b * e-mail address for reporting bugs is not valid since long time ago
git-svn-id: trunk@20746 -
2012-04-07 16:31:08 +00:00
pierre
20eaf3240a Accept x86_64_netbsd system for GNU as
git-svn-id: trunk@20745 -
2012-04-07 15:54:17 +00:00
pierre
06c362c02f Accept x86_64_netbsd system for elf64 object writer
git-svn-id: trunk@20744 -
2012-04-07 15:53:36 +00:00
florian
7819eb892c * use GNU AS as default assembler on x86_64-win64 now
git-svn-id: trunk@20740 -
2012-04-07 13:00:46 +00:00
Jonas Maebe
c4d80a8a10 * only try to use objdump to extract symbol liveness information if the
target OS is Linux, since it's not supported on other platforms for that
    purpose

git-svn-id: trunk@20739 -
2012-04-07 11:11:48 +00:00
florian
7fe6c0d95d * handle currency constants correctly on non i386 platforms if they are given as integer constant, resolves #21091
git-svn-id: trunk@20734 -
2012-04-06 22:13:48 +00:00
pierre
39d6d4800f * Set netbsd defautf for x86_64 compiler if on netbsd system
git-svn-id: trunk@20733 -
2012-04-06 22:07:38 +00:00
pierre
175ec19308 + Register for system_x86_64_ntbsd
git-svn-id: trunk@20732 -
2012-04-06 22:04:20 +00:00
pierre
d5dd980efe + Add system_x86_64_ntbsd_info record
git-svn-id: trunk@20731 -
2012-04-06 22:03:37 +00:00
pierre
6907539691 * Add system_x86_64_netbsd system
git-svn-id: trunk@20730 -
2012-04-06 21:43:40 +00:00
pierre
b6576452ed Use correct dynamic linker for x86_64 openbsd system
git-svn-id: trunk@20728 -
2012-04-06 21:21:56 +00:00
pierre
7dfbc38c68 Mark x86_64 openbsd system as under development
git-svn-id: trunk@20727 -
2012-04-06 21:21:15 +00:00
florian
d1e16c3cd4 + define CPUX86 on i386 and CPUX64 on x86-64, resolves #21670
git-svn-id: trunk@20726 -
2012-04-06 21:05:09 +00:00
florian
9fcff238f1 * create and push array def before the array range is parsed, this allows generic parameters to be used in the range definition, resolves #21592
git-svn-id: trunk@20725 -
2012-04-06 20:35:18 +00:00
pierre
2c4d8cc9d9 Add x86_64-openbsd target in Makefiles
git-svn-id: trunk@20723 -
2012-04-06 16:49:08 +00:00
pierre
58ef9b63dd Accept i386/x86_64 openbsd systems for elf object writer
git-svn-id: trunk@20718 -
2012-04-05 21:10:43 +00:00
pierre
b1900cda2a + Add system_x86_64_openbsd to systems_openbsd set
git-svn-id: trunk@20717 -
2012-04-05 21:09:31 +00:00
pierre
2b5cadf271 + Add system_x86_64_openbsd to list of supported systems for as assembler
git-svn-id: trunk@20716 -
2012-04-05 21:08:14 +00:00
pierre
7e71e1d3a0 + Add system_x86_64_openbsd_info record
git-svn-id: trunk@20715 -
2012-04-05 21:06:56 +00:00
pierre
2794ce5c09 + Add system_x86_64_openbsd system
git-svn-id: trunk@20714 -
2012-04-05 21:04:21 +00:00
florian
c5445399c6 * take care also of reg. allocation information after the current instruction when moving it
git-svn-id: trunk@20709 -
2012-04-05 14:21:41 +00:00
florian
9867f34398 * the arm rescheduler has not only to move instructions but also associated register allocations
git-svn-id: trunk@20707 -
2012-04-04 21:21:52 +00:00
florian
1f154028da * proper title value
git-svn-id: trunk@20706 -
2012-04-04 19:42:31 +00:00
florian
fecafd8bb7 * unified formatting
git-svn-id: trunk@20700 -
2012-04-03 19:30:04 +00:00
florian
79a77ae7d6 + in_generic for testing if currently a generic declaration/definition is parsed/record
* omit several error messages when in_generic is true because the error can be checked only during specialisation, resolves the issue reported in #21592

git-svn-id: trunk@20699 -
2012-04-03 19:29:09 +00:00
florian
a1f9055978 * formatting
git-svn-id: trunk@20697 -
2012-04-03 16:14:15 +00:00
pierre
24ba8e2dca * Fix bug #21607
git-svn-id: trunk@20696 -
2012-04-03 07:27:55 +00:00
Tomas Hajny
2a57a6a307 * add previously missing support for proper handling of -? from the fpc binary
git-svn-id: trunk@20695 -
2012-04-02 22:24:01 +00:00
Tomas Hajny
b12c38984b * fpc binary supported options made localizable and not shown separately from those handled by ppc* any longer
git-svn-id: trunk@20694 -
2012-04-02 22:11:21 +00:00
florian
bb8be38607 - removed some no longer used constants
git-svn-id: trunk@20688 -
2012-04-01 20:49:34 +00:00
pierre
c3da1aa542 Reenabled D0-D30 registers
git-svn-id: trunk@20674 -
2012-03-30 15:54:05 +00:00