Commit Graph

312 Commits

Author SHA1 Message Date
Jonas Maebe
fc7725efba + systems_managed_vm set of targets that run inside a managed vm
* don't define the pvmt (and related types) and methodpointertype
    for systems_managed_vm

git-svn-id: branches/jvmbackend@18444 -
2011-08-20 08:00:05 +00:00
Jonas Maebe
7200245337 + cs_unicodestrings global switch to indicate that the default string type
is unicodestring (does *not* change the type of "char" to "unicodechar"
    (yet)). Not yet (un)selectable via a directive.
  + systems_default_unicodestring set containing systems on which the
    default string type is unicodestring

git-svn-id: branches/jvmbackend@18415 -
2011-08-20 07:57:45 +00:00
Jonas Maebe
14e4f3459c + systems_garbage_collected_managed_types set in systems.pas
* don't call special helpers to assign refcounted types for
    systems_garbage_collected_managed_types

git-svn-id: branches/jvmbackend@18412 -
2011-08-20 07:57:31 +00:00
Jonas Maebe
1e2c70796e + jvm (cpu architecure) and java ("OS"/target) identifiers
+ basic target information for jvm target (assembling/linking
    helpers are still dummies for now)
  + basic jasmin assembler writer
  + cpunode and cputarg units to include the target units in the
    compiler

git-svn-id: branches/jvmbackend@18309 -
2011-08-20 07:37:33 +00:00
florian
57613d1bb9 + add avr-embedded to systems_embedded
git-svn-id: trunk@18014 -
2011-07-17 20:44:43 +00:00
pierre
cfdc7c861d * Use public/global name 'name' section 'section' without semicolon for Windows TLS support
git-svn-id: trunk@17909 -
2011-07-01 19:29:38 +00:00
pierre
4d50a95320 Use FPC_HAS_SYSTEMS_INTERRUPT_TABLE conditional
undefined for now as long as
  systems_interrupt_table set
  defined in systems unit is empty.
  This removes several warnings from compiler compilation.

git-svn-id: trunk@17871 -
2011-06-29 15:03:55 +00:00
pierre
1d8851f0eb Use systems.inc include file
git-svn-id: trunk@17775 -
2011-06-20 15:17:47 +00:00
florian
2f2c3ea545 * ignore 0 for code alignment, makes broken tests by r17659 working again
git-svn-id: trunk@17668 -
2011-06-05 21:12:26 +00:00
florian
ebc7a10954 * synchronized -Wxxxxx handling in options.pas and help screen, resolves #19400
* limited -Wxxxxx options to the targets they apply to

git-svn-id: trunk@17664 -
2011-06-05 15:39:44 +00:00
florian
93e53e1990 * allow also smaller values for code alignment parameters than the current one, resolves #19463
* limit code alignment parameters to power of 2 up to 256
* give an error for an invalid code alignment directive

git-svn-id: trunk@17659 -
2011-06-04 20:56:15 +00:00
florian
3ce9ff93f1 + patch by Jeppe Johansen to support automatic interrupt table generation by using the interrupt directive with an offset. Not activated yet because it requires to change also the startup code of the different mcus.
git-svn-id: trunk@17279 -
2011-04-10 15:59:06 +00:00
armin
7eace122dc internal linker support for creating novell netware loadable modules
git-svn-id: trunk@17192 -
2011-03-27 14:47:25 +00:00
Legolas
527dd56b28 + Initial Wii support
git-svn-id: trunk@16888 -
2011-02-07 16:56:45 +00:00
florian
1c5a3b6bf0 o patch by Graeme Geldenhuys
+ adds the missing DWARF3 values
  + introduces the DWARF4 values
  + basic class and debug info structures for DWARF4 support
  + added DWARF4 compiler parameter (-gw4) support
  + updated parameter description

git-svn-id: trunk@16288 -
2010-11-01 20:41:56 +00:00
Jonas Maebe
8b0301409a + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
later: the same as i386/darwin, except
      a) uses the non-fragile Objective-C ABI/runtime
      b) does not require stubs for direct calls/jumps (not required for
         i386/darwin under 10.6 and later either, but still generated
         there for backwards compatibility)
      c) only the same packages are enabled as for ARM/Darwin
      d) MacOSAll is compiled specifically for the iPhoneSimulator SDK
    This target also defines the symbol "darwin" apart from the target
    name "iphonesim" for source code compatibility reasons.

git-svn-id: trunk@16065 -
2010-09-29 21:56:47 +00:00
joost
3ee0e6fd2d * Added comments to explain the tf_safecall_clearstack and tf_safecall_exceptions target flags
git-svn-id: trunk@15993 -
2010-09-15 20:00:03 +00:00
joost
65ab1e820b * Safecall on linux/i386 now behaves like cdecl plus hidden exception support.
* Adapted tests because safecall on linux/i386 now does not include high() 
   support anymore

git-svn-id: trunk@15913 -
2010-08-27 19:07:22 +00:00
Jonas Maebe
28cd8271c9 * initial version of internal Mach-O/i386 assembler by Dmitry Boyarintsev
(mantis #15163)

git-svn-id: trunk@14628 -
2010-01-12 19:52:55 +00:00
florian
c1f3d8dcaa * unified names of system_*/systems_* sets
git-svn-id: trunk@14566 -
2010-01-07 18:16:20 +00:00
florian
34227e811d + patch by Sven Barth to add native NT rtl support to the compiler, resolves #14886
git-svn-id: trunk@14565 -
2010-01-07 17:42:11 +00:00
pierre
e67307aa66 * New constant system_needs_16_byte_stack_alignment
defined in system.pas
    used in x86/cgx86.pas
    and x86_64/cgcpu.pas
   

git-svn-id: trunk@14401 -
2009-12-11 09:50:27 +00:00
Jonas Maebe
7547bbb59c * forgot to commit (part of r14342)
git-svn-id: trunk@14343 -
2009-12-06 14:00:05 +00:00
florian
28ac4a8dda * several mips/mipsel related stuff fixed
* regenerated linux makefile to support mipsel

git-svn-id: trunk@14278 -
2009-11-27 15:10:56 +00:00
pierre
b19f79bc58 * Set solaris default for x86_64 compiler if on solaris system
git-svn-id: trunk@14241 -
2009-11-21 16:30:25 +00:00
florian
f54365db94 * adapted more fpc-mips stuff to trunk
git-svn-id: trunk@14230 -
2009-11-20 21:13:53 +00:00
pierre
0687f16a04 * Accept weak for Solaris targets
git-svn-id: trunk@14224 -
2009-11-20 11:06:50 +00:00
pierre
57b0a1b0da + Add target_x86_64_solaris constant
git-svn-id: trunk@14221 -
2009-11-20 10:51:02 +00:00
Jonas Maebe
0c675a4039 * the objc1 unit has been renamed to objc
* the objc unit links against the Foundation instead of against the Cocoa
    framework, and inludes an interface to either the fragile or non-fragile
    obj-c run time depending on the target platform
  + support for the non-fragile Objective-C runtime/ABI, as used on Mac OS X
    for ARM (iPhone) 64 bit (PowerPC/64, x86_64) -- all these targets now
    are now also supported for the objectivec1 modeswitch
  + support for private_extern symbol bindings, required for the above
  * mark objcclasses that are declared in the implementation section of a
    unit as "hidden" (not sure what the effect is, since the Objective-C
    runtime does not seem to do anything with this flag)
  * enabled all obj-c tests for the newly supported platforms

git-svn-id: branches/objc@13763 -
2009-09-27 15:24:50 +00:00
florian
fc5e5d9258 * talignmentinfo must be packed, it is written to the ppu during streaming, further it is member of tsettings which packed too
* reordered fields of tsetting to avoid unaligned fields
* fixed compilation of arm after disableddircache was added
* increased ppu version

git-svn-id: trunk@13327 -
2009-06-27 11:14:19 +00:00
Tomas Hajny
54f3d28ce8 * prefix for import libraries now configurable rather than hardcoded, plus fixed issue with name of OS/2 import libraries
git-svn-id: trunk@12727 -
2009-02-09 00:01:15 +00:00
florian
acb06dac1b + Wp<Controllertype> support for arm and avr
git-svn-id: trunk@12664 -
2009-02-02 20:16:25 +00:00
Jonas Maebe
b1c3f76ff9 * changed the supported targets for assembler writers to a set, and
(hopefully correctly) limited all assembler writers to only the
    OSes they support (mantis #11801)

git-svn-id: trunk@12622 -
2009-01-28 15:12:43 +00:00
Károly Balogh
f1b27498c3 + added initial support for the VASM assembler of VBCC fame (http://sun.hasenbraten.de/vbcc/),
because it is faster and more system conform on Amigaish systems (like MorphOS, AmigaOS4 and more) than GNU AS.
  btw, these are the same reasons why FPC/MOS use VLink instead of GNU LD...
+ simple programs compile with it, compiler doesn't work yet. (i'm in touch with VASM maintainer to address some issues)
+ TODO: add a command line switch to turn it on from command line.

git-svn-id: trunk@12479 -
2009-01-02 22:05:05 +00:00
Jonas Maebe
5c1d4b130b * added system_powerpc64_linux to system_linux set
git-svn-id: trunk@12355 -
2008-12-12 16:07:22 +00:00
Jonas Maebe
a23630260b + "weakexternal" support for imported procedures and variables.
the syntax is exactly the same as for "external", except for
    the keyword. It is currently only active for Darwin targets.
    It should also work at least for Linux targets, but only with
    the GNU assembler (which is why it is not activated there)
  + test for this functionality

git-svn-id: trunk@12009 -
2008-11-01 18:38:32 +00:00
Jonas Maebe
afa14de20d + some generic changes preparing for darwin/arm support
git-svn-id: trunk@11849 -
2008-10-02 15:10:13 +00:00
florian
35c0f78642 + Haiku support by Olivier Coursière based on old BeOS support
git-svn-id: trunk@11014 -
2008-05-19 17:33:35 +00:00
micha
b0838b13d7 * add armeb target to compiler/Makefiles
git-svn-id: trunk@10552 -
2008-03-24 17:48:11 +00:00
michael
174de3eab1 Merged revisions 9693-10480 via svnmerge from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources

........
  r9694 | michael | 2008-01-09 21:31:18 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Initial check-in
........
  r9695 | michael | 2008-01-09 21:35:58 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * New version from Giulio Bernardi
........
  r9697 | michael | 2008-01-09 21:41:54 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Patch from Giulio Bernardi with resource support
........
  r9698 | michael | 2008-01-09 21:46:33 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Patch from Giulio Bernardi to add more resource testing
........
  r9699 | michael | 2008-01-09 21:57:26 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * New tool from Giulio Bernardi
........
  r9700 | michael | 2008-01-09 21:58:23 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * New tool from Giulio Bernardi
........
  r9701 | michael | 2008-01-09 22:01:54 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Added fcl-res
........
  r9702 | michael | 2008-01-09 22:01:58 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Added fcl-res
........
  r9703 | michael | 2008-01-10 08:54:26 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * Fixed double code
........
  r9704 | jonas | 2008-01-10 10:59:20 +0100 (Thu, 10 Jan 2008) | 2 lines
  
    - removed duplicate code
........
  r9705 | jonas | 2008-01-10 11:25:21 +0100 (Thu, 10 Jan 2008) | 2 lines
  
    + added missing fcl-res dependencies
........
  r9706 | jonas | 2008-01-10 11:58:30 +0100 (Thu, 10 Jan 2008) | 2 lines
  
    + dependencies for fpintres and fpextres
........
  r9707 | yury | 2008-01-10 12:47:51 +0100 (Thu, 10 Jan 2008) | 3 lines
  
  * Fixed compilation of resource, which is included in a unit located in different folder than main source.
  * .res files must be copied to units output folder, otherwise .res files will not be found when only compiled units path is available and compiler does not know anything about sources folder.
  * Improved resource related error messages.
........
  r9708 | michael | 2008-01-10 12:52:13 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * Removed double source after end.
........
  r9709 | michael | 2008-01-10 12:52:48 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * No longer needed
........
  r9710 | tom_at_work | 2008-01-10 22:09:08 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * properly align FPC_RESLOCATION so that linking does not fail on some architectures (e.g. ppc64)
........
  r9711 | tom_at_work | 2008-01-10 23:53:12 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * fix splitting of 64 bit load/stores from/to unaligned memory locations into multiple load/stores, which in some cases generated wrong code
........
  r9712 | michael | 2008-01-11 11:00:08 +0100 (Fri, 11 Jan 2008) | 1 line
  
  * Fixed bug in BSS section on 64-bit platforms
........
  r9720 | giulio | 2008-01-12 10:02:04 +0100 (Sat, 12 Jan 2008) | 1 line
  
  Updated fcl-res documentation: occurrences of reslib changed to fcl-res.
........
  r9740 | giulio | 2008-01-13 19:36:44 +0100 (Sun, 13 Jan 2008) | 3 lines
  
   - Don't try to compile resources on systems with a non windows-like resource support.
   - Don't add the .or file to the list of object files if resource compiling failed.
........
  r10201 | giulio | 2008-02-04 11:35:44 +0100 (Mon, 04 Feb 2008) | 5 lines
  
  * resource compiling supported on OS/2 via wrc
  * CompileResourceFiles and CollectResourceFiles don't do target-specific checks anymore
  * refactored a bit
........
  r10389 | giulio | 2008-02-25 21:32:52 +0100 (Mon, 25 Feb 2008) | 2 lines
  
  Deleted test file which was committed by mistake
........
  r10472 | giulio | 2008-03-10 12:22:18 +0100 (Mon, 10 Mar 2008) | 2 lines
  
  changed define FPC_HAS_RESOURCES to FPC_HAS_WINLIKERESOURCES
........

git-svn-id: trunk@10481 -
2008-03-12 21:33:48 +00:00
florian
c05d4912f4 + basic system unit for avr-embedded
* fixed several compiler stuff to be able to start system unit compilation on avr

git-svn-id: trunk@10318 -
2008-02-13 20:35:16 +00:00
florian
a210a74629 * compiling skeleton
git-svn-id: trunk@10211 -
2008-02-04 20:57:09 +00:00
sekelsenmat
8476d0af2c Adds symbian arm target.
git-svn-id: trunk@9327 -
2007-11-24 22:04:59 +00:00
Jonas Maebe
032352d98b + darwin/x86_64 support
git-svn-id: trunk@9180 -
2007-11-10 18:33:09 +00:00
florian
ed75834533 + eabi and armeb abi constants
+ abi2str array

git-svn-id: trunk@9154 -
2007-11-07 20:43:31 +00:00
florian
90af7ebf72 * use only windows exceptions for stack checking on win32/win64, resolves #9166
git-svn-id: trunk@9020 -
2007-10-31 23:19:48 +00:00
Jonas Maebe
ff3b455a59 * make PIC generation default on Darwin (ppc and i386; ppc64 will be
done in next commit to ease merging)

git-svn-id: trunk@8872 -
2007-10-21 10:34:01 +00:00
peter
9f0ca44c94 * new tf_smartlink_library flag
* use create_smartlink[_sections|_library] to check what to 
    do for smartlinking

git-svn-id: trunk@8715 -
2007-10-01 16:55:08 +00:00
peter
4d48f2c6ff * move systems_darwin constant to correct location
git-svn-id: trunk@8580 -
2007-09-20 21:08:08 +00:00
florian
5e60b52f28 * ignore pic directive/switch if the platform doesn't support pic, resolves #9281
git-svn-id: trunk@8157 -
2007-07-23 20:25:04 +00:00