Károly Balogh
07ad2a04ac
* fix warnings when compiling the compiler with DFA optimizer enabled on i386
...
git-svn-id: trunk@28497 -
2014-08-20 12:28:44 +00:00
Jonas Maebe
b18ba8e85b
* syncrhonised with trunk up till r28471
...
git-svn-id: branches/hlcgllvm@28495 -
2014-08-19 20:23:11 +00:00
Károly Balogh
03a0f7b409
AROS: improved version of the previous commit, pass the stripping option to the linker instead, seems to work.
...
git-svn-id: trunk@28466 -
2014-08-19 11:30:02 +00:00
Károly Balogh
883e71f18e
AROS: stripping of executables on i386 works now
...
git-svn-id: trunk@28465 -
2014-08-19 11:03:31 +00:00
Károly Balogh
8627cc3ddb
AROS: added remark about collect-aros issue, fixed ld name for x86_64 target
...
git-svn-id: trunk@28444 -
2014-08-18 16:17:06 +00:00
Károly Balogh
2f086129e1
AROS: use collect-aros to link. also support binutils prefixes.
...
git-svn-id: trunk@28443 -
2014-08-18 14:55:02 +00:00
Károly Balogh
1410838aa7
AROS: and also add the system info/target units which were forgotten in the previous commit
...
git-svn-id: trunk@28433 -
2014-08-17 18:36:57 +00:00
Jonas Maebe
5c75b6dd6b
* synchronised with trunk up till r28402
...
git-svn-id: branches/hlcgllvm@28403 -
2014-08-13 16:04:30 +00:00
sergei
b9763d270a
+ Enabled section smartlinking for m68k-linux.
...
git-svn-id: trunk@28302 -
2014-08-02 23:00:36 +00:00
Legolas
a52e51d0b7
* Updated libndsfpc and nds linkerscript to Ver. 1.5.8
...
git-svn-id: trunk@28299 -
2014-08-02 15:23:51 +00:00
sergei
15ff2c1236
* m68k: Fixed name of ELF interpreter, and updated cprt0.as to somewhat working state. Now a "hello world" program using libc can be linked and launched, but anything more complex needs another round of fixing the parameter passing code, in order to get the stack properly balanced.
...
git-svn-id: trunk@28181 -
2014-07-07 20:08:50 +00:00
Jonas Maebe
7949bebb8d
* synchronised with r28168 of trunk
...
git-svn-id: branches/hlcgllvm@28169 -
2014-07-05 21:30:28 +00:00
Jonas Maebe
a24c81a5f8
* added llvmdatalayout for mipsel-android
...
git-svn-id: branches/hlcgllvm@28104 -
2014-07-01 16:29:54 +00:00
nickysn
9f31fcc2ca
+ added support for HeapMax in the far data i8086 memory models as well
...
git-svn-id: trunk@28051 -
2014-06-24 22:54:54 +00:00
Jeppe Johansen
0dc39b5d63
Applied patch from Michael Ring that adds some startup code for some new stm32f0 and stm32f1 controllers, and fixes naming on some LPC ARMv6m controllers.
...
git-svn-id: trunk@28009 -
2014-06-20 06:49:04 +00:00
nickysn
7cfd7a66cd
+ create a special 'heap' segment with reserved space equal to heapsize (i.e.
...
the value set by -Ch or the second parameter to the $M directive). This is
equivalent to the heapmin value in Turbo Pascal 7 and ensures that the program
has at least this amount of heap space available (otherwise DOS will show a
'not enough memory' error and will refuse to load the program).
git-svn-id: trunk@28002 -
2014-06-19 14:14:01 +00:00
nickysn
49f93b4464
* use the 'order' wlink directive to specify the segment order, instead of using
...
'option dosseg'. This allows us more flexibility in setting up the segment
order the way we like.
git-svn-id: trunk@27958 -
2014-06-14 18:04:58 +00:00
nickysn
a52d8abe38
* changed the default stack size in the i8086 far data memory models to 16 KB
...
git-svn-id: trunk@27841 -
2014-06-01 14:38:54 +00:00
Jonas Maebe
bacd303208
* synchronized with trunk up to r27758
...
git-svn-id: branches/hlcgllvm@27779 -
2014-05-12 16:12:34 +00:00
pierre
179390d63d
Use script gnu ar for go32v2 target
...
git-svn-id: trunk@27515 -
2014-04-10 16:20:14 +00:00
pierre
62b3375033
Use slash instead of backslash inside linker script to allow use of cross-linker
...
git-svn-id: trunk@27509 -
2014-04-10 13:24:42 +00:00
nickysn
510fa9596f
* add 'option quiet' to wlink to suppress its info messages
...
git-svn-id: trunk@27271 -
2014-03-24 18:13:29 +00:00
florian
b2b26f84cf
* partially merged the mips-embedded branch of Michael Ring:
...
- startup code/controller units are not merged yet
- assembler call does not pass the needed CPU type yet
git-svn-id: trunk@27188 -
2014-03-19 21:25:38 +00:00
florian
2c5a0ffc89
* make windres the default resource compiler on x86_64-win64
...
git-svn-id: trunk@27041 -
2014-03-09 10:52:10 +00:00
pierre
7b359d06c4
Use GNU ar also for x86_64 solaris
...
git-svn-id: trunk@27022 -
2014-03-07 12:39:48 +00:00
Jonas Maebe
e9268a0a14
* synchronised with trunk up till r26975
...
git-svn-id: branches/hlcgllvm@26976 -
2014-03-06 21:36:58 +00:00
Jeppe Johansen
e33550b67d
Added support for X,Y,and Z register aliases plus low/high forms, and post-incrementation in AVR assembler reader.
...
Cleaned up parameter and funcretloc information generation in AVR paramanger, and made it closer to GCC's calling convention.
Fixed a number of codegenerator bugs generating invalid or broken instructions: CP operands were swapped, a number of instructions had immediate operands, and stack frame epilogue wasn't complete.
Added a bunch of peephole optimizations that clears the generated code up a lot.
git-svn-id: trunk@26925 -
2014-03-02 15:37:24 +00:00
Károly Balogh
0591caf022
have an explicit define for OS4, so we can easily identify it in shared sources among Amiga-like systems, independent from the CPU define
...
git-svn-id: trunk@26859 -
2014-02-23 23:49:40 +00:00
yury
e0c8a4701e
* Fixed compilation for mips-linux.
...
git-svn-id: trunk@26732 -
2014-02-08 19:08:21 +00:00
yury
bb269e53ac
* mipsel-android: Don't export local symbols from executable.
...
git-svn-id: trunk@26690 -
2014-02-06 19:11:08 +00:00
yury
56b3287e29
+ Added compiler support for mipsel-android target.
...
git-svn-id: trunk@26686 -
2014-02-06 17:02:43 +00:00
pierre
9fc9f4bdba
Use new as_i8086_nasmobj as external assembler for msdos target
...
git-svn-id: trunk@26549 -
2014-01-21 00:27:42 +00:00
pierre
2a6e592fba
Handle link map for msdos wlink
...
git-svn-id: trunk@26461 -
2014-01-14 21:40:02 +00:00
Jonas Maebe
ca446b4b2a
- removed registration of x86_6432 target because it's not supported in any
...
way by the compiler (and furthermore it would have to be registerd in an
the x86_64 compiler binary, not an i386 one) (mantis #25525 )
git-svn-id: trunk@26460 -
2014-01-14 20:37:18 +00:00
pierre
291124489f
Use scripted version of wlib for go32v2 msdos smart library creation
...
git-svn-id: trunk@26444 -
2014-01-12 23:21:16 +00:00
Jeppe Johansen
d24cbbf9f5
Changed debug information to dwarf for ARM_embedded, and set local minimum alignment to 4.
...
Fixed a bug where ARMv7M targets would not use the DIV instructions.
Moved many size-optimizing Thumb2 peephole optimizations to PostPeepHoleOptsCpu. Previously those optimizations could make it impossible to reuse the shared arm peephole optimizations.
Reenabled a fixed MLA/MLS peephole optimization.
Refactored some FindRegDealloc+regLoadedWithNewValue into RegEndOfLife calls.
Fixed some broken UXTB/UXTH optimizations. Previously they would also match UXT* instructions with ROR shifter ops.
git-svn-id: trunk@26198 -
2013-12-08 16:50:15 +00:00
florian
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
...
git-svn-id: trunk@26161 -
2013-12-01 17:02:08 +00:00
florian
c357212b45
+ search crt* files also in /usr/lib/x86_64-linux-gnu, multiarch supporting distros require this
...
git-svn-id: trunk@26158 -
2013-12-01 15:39:05 +00:00
Károly Balogh
34702dbfc5
fixed staticlibprefix for Amiga and MorphOS
...
git-svn-id: trunk@26127 -
2013-11-24 04:19:59 +00:00
Károly Balogh
da3603e663
introduce HASAMIGA define to easily identify various Amiga flavors (similarly to HASUNIX)
...
git-svn-id: trunk@26123 -
2013-11-24 01:19:52 +00:00
Jonas Maebe
9573160c1a
+ llvmdatalayout field for tsysteminfo that contains the encoded data layout
...
as used by llvm for most targets (taken from clang, adapted in some cases
where we use a custom stack alignment)
git-svn-id: branches/hlcgllvm@26032 -
2013-11-11 11:14:55 +00:00
nickysn
12b1e0cbfd
+ tell wlink to add dwarf debug info to the executable when -gw2/3/4 is used
...
git-svn-id: trunk@25874 -
2013-10-27 20:30:00 +00:00
paul
d16606b04c
compiler: revert r25852 since 10.9 is already handled
...
git-svn-id: trunk@25864 -
2013-10-27 14:17:29 +00:00
florian
de2e4632c5
* if a build-id is generated, put it into flash
...
git-svn-id: trunk@25853 -
2013-10-26 14:19:14 +00:00
paul
43b9308929
compiler: also skip crt1.o for osx 10.9
...
git-svn-id: trunk@25852 -
2013-10-26 13:36:40 +00:00
Jonas Maebe
40eafc3d82
* don't try to post-process embedded executables when linking is
...
disabled
git-svn-id: trunk@25851 -
2013-10-26 10:01:05 +00:00
Jonas Maebe
a28917086b
* updated *crt1* linking logic for OS X 10.8+:
...
o don't link by default
o when generating profiling info, link gcrt1.o and specify "-no_new_main"
linker parameter
* don't use version-specific crt1.o files when targetting the
iPhoneSimulator platform
* don't link a crt1.o file when targetting iOS 6 or later
(all info from
http://llvm.org/svn/llvm-project/cfe/trunk/lib/Driver/Tools.cpp )
git-svn-id: trunk@25789 -
2013-10-14 21:38:38 +00:00
florian
304d7ef7a1
* restores atari support/rtl partially
...
git-svn-id: trunk@25699 -
2013-10-06 19:36:59 +00:00
nickysn
96a4f8e43b
* the staticlibext for i8086-msdos changed from .lib to .a; rationale:
...
1) less special cases needed in fpmkunit for i8086-msdos
2) consistency with the naming scheme on the go32v2 target
3) we didn't follow the DOS naming scheme completely anyway, e.g. we used .o
for object files, instead of .obj
git-svn-id: trunk@25641 -
2013-10-05 10:01:59 +00:00
marco
2a9916baba
* fix mantis #25129 for non OS X BSD systems. Patch by A. Cardenas Marquez
...
- crtbegin and crtend suffix handling
- crti before crtbegin
git-svn-id: trunk@25620 -
2013-10-02 09:05:32 +00:00
nickysn
a48b44cfe5
+ added a new tsystemflag tf_cld, which indicates that ts_cld should be enabled
...
by default on this target
+ tf_cld enabled for i8086-msdos (for Turbo Pascal compatibility)
git-svn-id: trunk@25595 -
2013-09-28 14:57:12 +00:00
Jonas Maebe
2c664ac6ae
* fix compatibility with new Package Management system under Haiku
...
(patch by Olivier Coursiere, mantis #25051 )
git-svn-id: trunk@25573 -
2013-09-25 20:57:41 +00:00
nickysn
52a5ffc386
* use apptype to indicate that the target is a DOS .COM file, instead of introducing a new field in tsettings (as suggested by Sven)
...
git-svn-id: trunk@25544 -
2013-09-24 12:13:47 +00:00
nickysn
567cdf875b
+ added new i8086 compiler options -Wtexe and -Wtcom for specifying the MS-DOS
...
binary format (.exe or .com)
* the default format for i8086 tiny model binaries changed to .exe
git-svn-id: trunk@25528 -
2013-09-21 16:44:14 +00:00
Jonas Maebe
1af312c129
* don't overwrite result of librarysearchpath.FindFile() in
...
GetDarwinPrtobjName() if it found something
git-svn-id: trunk@25330 -
2013-08-22 21:37:06 +00:00
Jonas Maebe
528f5d1096
* initialise result of GetDarwinPrtobjName() in case GetDarwinCrt1ObjName()
...
returns an empty string
git-svn-id: trunk@25328 -
2013-08-22 19:55:57 +00:00
Jonas Maebe
4ec9ec2009
+ PIC support for Darwin/ARM:
...
o does not use GOT
o enabled by default like for other Darwin platforms
- removed Darwin/ARM call stub support: no longer needed with current
Xcode versions (at least Xcode 4.2+), and we didn't support PIC
in them yet
git-svn-id: trunk@25325 -
2013-08-22 08:14:24 +00:00
florian
6606955b88
+ basic support for pic on arm-linux
...
git-svn-id: trunk@25297 -
2013-08-19 21:35:37 +00:00
sergei
38058505ba
* Changed linking infrastructure to look like assembler one:
...
* Changed direct references to linker classes in TSystemInfo records to enumerated ids.
* RegisterExtennalLinker and RegisterInternalLinker procedures replaced by single RegisterLinker procedure and moved to link.pas.
- TAbstractLinker is no longer necessary, removed.
This change allows to register linker once per id, rather than once per target, and also allows TSystemInfo records to be read-only.
git-svn-id: trunk@25279 -
2013-08-18 12:01:21 +00:00
sergei
eec8129738
* TInternalLinker.Load_ReadStaticLibrary: exit if error has occurred while opening a static library or dynamic object, continuing can cause other errors/crashes in this case.
...
* t_linux.pas: use sysrootpath when specifying dynamic interpreter (for cross-linking).
git-svn-id: trunk@25277 -
2013-08-18 09:14:16 +00:00
sergei
1f8a67f552
+ Property TObjSymbol.ObjData, allows to access owning TObjData for external/common symbols, i.e. ones with ObjSection=nil.
...
* For common symbols, report objdata of the original ObjSymbol, not of the resolving one, so the map file shows where it comes from.
+ TElfExeOutput.OrderOrphanSections method, handles object sections not mentioned in script similar to ld.
- t_linux.pas: removed sections that are not part of ld scripts, they are now handled by OrderOrphanSections.
git-svn-id: trunk@25184 -
2013-07-30 09:23:48 +00:00
sergei
dddc78514d
* Internal ELF linker: for MIPS targets, place .got section after .data. This corresponds to behavior of ld, and reduces amount of processing when adding GOT slots for local symbols (which requires re-doing layout for all sections that come after .got)
...
git-svn-id: trunk@25154 -
2013-07-21 13:10:57 +00:00
pierre
277ae481b8
Add passing of -k option to linker for msdos and go32v2 targets
...
git-svn-id: trunk@24981 -
2013-06-26 22:27:16 +00:00
nickysn
f5a9442910
+ added the appropriate startup code names for each memory model
...
git-svn-id: trunk@24832 -
2013-06-09 12:44:03 +00:00
nickysn
e28852d07d
* prt0 startup code file for small model renamed to prt0s
...
git-svn-id: trunk@24809 -
2013-06-05 16:41:39 +00:00
nickysn
b409d600ee
+ implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
...
git-svn-id: trunk@24793 -
2013-06-02 23:02:10 +00:00
Károly Balogh
af1f84892c
try to do VLink support semi-properly, so cross compilation is possible
...
git-svn-id: trunk@24664 -
2013-05-31 13:04:44 +00:00
Jonas Maebe
b16677a75b
* only pass --gc-sections to the linker if smart linking is enabled
...
(mantis #24396 )
git-svn-id: trunk@24465 -
2013-05-07 20:28:54 +00:00
marco
09e742f243
* add a -dfpc define to the resource compiler commandlines, which allows to make FPC specific exceptions in resource scripts. Mantis #24044
...
git-svn-id: trunk@24438 -
2013-05-04 21:25:36 +00:00
svenbarth
930b76e8fb
Fix compilation of WinCE. Change the fixed UNICODE define of WinCE to FPC_OS_UNICODE, so that it won't be undefined when changing the mode/string type and that the usage of a UNICODE API is independant of the mode.
...
Also adjusted all Windows (Win32/64/CE) units to define a "UNICODE" if "FPC_OS_UNICODE" is defined (except the Jedi units).
Also the common RTL units that checked for UNICODE now check for FPC_OS_UNICODE.
git-svn-id: trunk@24420 -
2013-05-04 11:06:32 +00:00
florian
5e0585c0d0
+ introduce tf_no_objectfiles_when_smartlinking so object file generation on i8086-msdos can be turned off
...
* object file generation on i8086-msdos can be turned off if smartlinking is enabled
git-svn-id: trunk@24396 -
2013-04-30 19:11:55 +00:00
florian
0e9b8adb7a
patch by Michael Ring:
...
+ support of several armv6m MCUs for arm-embedded
* renamed lpc1343 unit to lpc13xx
+ more lpc13xx MCUs added
git-svn-id: trunk@24379 -
2013-04-29 19:57:08 +00:00
florian
0e41df598e
* merge i8086 branch by Nikolay Nikolov
...
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
marco
e6dc52bac8
* enable sections smartlinking for *BSD, seems to work nowadays.
...
git-svn-id: trunk@24304 -
2013-04-22 18:03:28 +00:00
pierre
8a6e057fca
Merge forgotten go32v2 2.6.0 branch changes back into trunk.
...
* Change it also in TInternalLinkerGo32v2.DefaultLinkScript method.
------------------------------------------------------------------------
r20578 | pierre | 2012-03-22 17:34:35 +0100 (Thu, 22 Mar 2012) | 1 line
Force _environ to be the same as __environ
------------------------------------------------------------------------
git-svn-id: trunk@24229 -
2013-04-12 10:25:13 +00:00
florian
b817b6f62a
* enable section smartlinking on all linux targets
...
git-svn-id: trunk@24146 -
2013-04-04 09:43:00 +00:00
nickysn
f270263d3d
* default stack size for msdos changed to 4096 bytes
...
git-svn-id: branches/i8086@24066 -
2013-03-30 11:00:46 +00:00
nickysn
e944e142b8
* first_parm_offset is 4 on i8086, not 8
...
git-svn-id: branches/i8086@23970 -
2013-03-23 01:47:31 +00:00
nickysn
fb12778f0e
+ add static libraries to the wlink script for the msdos target
...
git-svn-id: branches/i8086@23966 -
2013-03-23 00:05:50 +00:00
nickysn
f2242568bb
* msdos omf library suffix changed to .lib
...
git-svn-id: branches/i8086@23965 -
2013-03-22 23:47:36 +00:00
nickysn
ac64663e70
+ openwatcom wlib support added
...
git-svn-id: branches/i8086@23964 -
2013-03-22 23:44:33 +00:00
florian
7511968f2b
+ warn if one of the linux libc startup code files is not found
...
git-svn-id: trunk@23892 -
2013-03-17 14:51:19 +00:00
pierre
8e2fcd6bfe
Enable use of dllprt0 for netbsd
...
git-svn-id: trunk@23848 -
2013-03-15 16:21:22 +00:00
pierre
18ece9cf75
Also use VERSION in scripts for openbsd and netbsd
...
git-svn-id: trunk@23844 -
2013-03-15 15:39:32 +00:00
pierre
1ad6aacb78
* Also use dllprt0 for openbsd
...
git-svn-id: trunk@23829 -
2013-03-14 13:51:16 +00:00
nickysn
ec3d9ebc8a
wlink support added and made the default
...
git-svn-id: branches/i8086@23787 -
2013-03-10 21:41:59 +00:00
nickysn
da37d03dd7
alink support added and enabled by default
...
git-svn-id: branches/i8086@23784 -
2013-03-10 19:25:57 +00:00
nickysn
28f8a8e51d
i8086-msdos linking with tlink support added
...
git-svn-id: branches/i8086@23781 -
2013-03-10 18:28:20 +00:00
florian
c2baf7b4c0
Merge r23058
...
git-svn-id: trunk@23776 -
2013-03-10 16:37:57 +00:00
florian
086ae4b999
Merge r22905 and r22906
...
git-svn-id: trunk@23773 -
2013-03-10 10:45:34 +00:00
florian
21c154d60a
Merged r22903
...
git-svn-id: trunk@23757 -
2013-03-09 20:56:07 +00:00
florian
08bf826334
Merges 22828,22829
...
git-svn-id: trunk@23756 -
2013-03-09 20:49:57 +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
3a4135c07b
ifdef cpu86 replaced with ifdef cpui386
...
git-svn-id: branches/i8086@23709 -
2013-03-07 22:21:27 +00:00
florian
2281a63116
+ write a build-id section for arm-embedded
...
git-svn-id: trunk@23626 -
2013-02-17 18:56:49 +00:00
florian
bcd48ac1a1
+ patch by Justin Smyth to support the lpc1343, resolves #23844
...
git-svn-id: trunk@23620 -
2013-02-14 20:38:53 +00:00
yury
92b2ef2059
* Android: Quote a path to crt object files if needed. It fixes linking when a library path contains spaces.
...
git-svn-id: trunk@23607 -
2013-02-13 15:50:58 +00:00
yury
e88bc322bc
+ Merge the targetandroid branch. Support for arm and i386 android targets.
...
***************************************************************************
Revision: 23518
Author: yury
Date: 25 Jan 2013 0:14:31
Message:
* Build databases support for Android.
----
Modified : /branches/targetandroid/packages/dblib/fpmake.pp
Modified : /branches/targetandroid/packages/fcl-db/fpmake.pp
Revision: 23516
Author: yury
Date: 24 Jan 2013 23:08:12
Message:
* again made less complex for arm and sparc so it compiles there too without running out of registers.
----
Modified : /branches/targetandroid/tests/webtbs/tw2242.pp
Revision: 23515
Author: yury
Date: 24 Jan 2013 23:01:36
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw4038.pp
Revision: 23514
Author: yury
Date: 24 Jan 2013 22:32:39
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp
Revision: 23512
Author: yury
Date: 24 Jan 2013 12:30:07
Message:
* Allow passing of double quoted paths in TEST_OPT.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc
Revision: 23511
Author: yury
Date: 24 Jan 2013 12:29:01
Message:
* Fixed building of packages when cross-testing. Pass CROSSOPT to build packages in such case, otherwise options specified in TEST_OPT are used to build fpmake. The source compiler not always accepts target options. For example -Cfsoft option, often used for arm compiler, is not accepted by x86 compiler.
----
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/tstunits/Makefile.fpc
Revision: 23497
Author: yury
Date: 22 Jan 2013 19:10:54
Message:
* Reverted r23400 and r23401. Tomas has promised to commit more correct fix to trunk.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp
Revision: 23496
Author: yury
Date: 22 Jan 2013 19:05:51
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp
Revision: 23495
Author: yury
Date: 22 Jan 2013 18:58:30
Message:
* Add %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/tbs/tb0582.pp
Modified : /branches/targetandroid/tests/test/tweaklib2.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw13628b.pp
Modified : /branches/targetandroid/tests/webtbs/tw14798.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw2812.pp
Modified : /branches/targetandroid/tests/webtbs/tw3082.pp
Modified : /branches/targetandroid/tests/webtbs/tw3402.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822b.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp
Revision: 23492
Author: yury
Date: 22 Jan 2013 16:43:42
Message:
* Turn off special handling of interrupt calling convention for i386-android.
----
Modified : /branches/targetandroid/compiler/i386/n386cal.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas
Revision: 23491
Author: yury
Date: 22 Jan 2013 16:34:32
Message:
* Added %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/test/targ1b.pp
Modified : /branches/targetandroid/tests/test/tlib1b.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tlibrary2.pp
Modified : /branches/targetandroid/tests/test/tlibrary3.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23490
Author: yury
Date: 22 Jan 2013 16:28:00
Message:
* These libs are for tests, that run only on windows. Mark libs for windows only as well.
----
Modified : /branches/targetandroid/tests/test/library/tlib3a.pp
Modified : /branches/targetandroid/tests/test/library/tlib3b.pp
Revision: 23489
Author: yury
Date: 22 Jan 2013 16:18:56
Message:
* Do not copy a library to a remote target if this library name is specified using %DELFILES directive.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23488
Author: yury
Date: 22 Jan 2013 15:47:52
Message:
* Implemented { %DELFILES file1 file2 ... } directive for tests. Primarily it is needed to delete shared libraries used by tests when TEST_DELTEMP=1. When testing on a real Android device, it is not good to run tests on flash memory partitions. Android devices have 1Mb RAM based tempfs partition for /tmp folder, which is ideal for running tests. Since 1Mb is very small size these days, it is needed to clean all test leftovers. Test shared libraries are the biggest leftovers and this new DELFILES directive will help to delete them.
* During remote execution, use && as a command separator after important commands such as CD to ensure that the command succeeded before running other commands. Group other commands using curly braces { }.
----
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/utils/dotest.pp
Modified : /branches/targetandroid/tests/utils/testu.pp
Revision: 23487
Author: yury
Date: 22 Jan 2013 13:16:22
Message:
* Define CExtended and clongdouble as double for Android.
----
Modified : /branches/targetandroid/compiler/psystem.pas
Modified : /branches/targetandroid/rtl/inc/ctypes.pp
Revision: 23486
Author: yury
Date: 22 Jan 2013 13:14:36
Message:
* Fixed compilation for case when extended <> cextended.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext6.pp
Revision: 23485
Author: yury
Date: 22 Jan 2013 12:41:43
Message:
* More correct comparison of long double values for case when long double=double in C.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext.pp
Revision: 23484
Author: yury
Date: 22 Jan 2013 11:53:41
Message:
* Do not pass -f switch for rm when testing via adb, since default android shell do not support -f switch.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23483
Author: yury
Date: 22 Jan 2013 11:47:31
Message:
* Added ICU version of Android 4.1.
* Increment by 2 when finding an unknown ICU version.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23479
Author: yury
Date: 21 Jan 2013 14:29:40
Message:
* Add define for android.
----
Modified : /branches/targetandroid/tests/test/cg/tcalcst6.pp
Modified : /branches/targetandroid/tests/test/cg/tcalvar6.pp
Revision: 23478
Author: yury
Date: 21 Jan 2013 14:22:06
Message:
+ Added C object files for android-i386.
----
Added : /branches/targetandroid/tests/test/cg/obj/android/i386
Modified : /branches/targetandroid/tests/test/cg/obj/readme.txt
Revision: 23477
Author: yury
Date: 21 Jan 2013 14:08:25
Message:
* Add missing checks for android target.
----
Modified : /branches/targetandroid/compiler/aasmdata.pas
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/expunix.pas
Modified : /branches/targetandroid/compiler/ncgld.pas
Modified : /branches/targetandroid/compiler/ogelf.pas
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas
Modified : /branches/targetandroid/compiler/x86/rax86.pas
Revision: 23475
Author: yury
Date: 21 Jan 2013 13:51:09
Message:
* Set android-i368 stack alignment to 16.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23474
Author: yury
Date: 21 Jan 2013 13:45:29
Message:
* Removed -z relro linker option, since it causes problems.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23451
Author: yury
Date: 19 Jan 2013 1:32:26
Message:
* Pass some security switches to LD. They are passed by GCC.
* Removed unused function.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23450
Author: yury
Date: 19 Jan 2013 1:27:45
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as
Revision: 23449
Author: yury
Date: 19 Jan 2013 1:27:02
Message:
* Simplify arm startup code.
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23448
Author: yury
Date: 19 Jan 2013 1:25:58
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 23447
Author: yury
Date: 19 Jan 2013 1:19:29
Message:
* Rewrite initialization code for i386-android. i386-android works.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 23441
Author: yury
Date: 18 Jan 2013 16:51:09
Message:
* Add android to supported targets for assemblers. It fixes assembling for i386-android.
----
Modified : /branches/targetandroid/compiler/arm/agarmgas.pas
Modified : /branches/targetandroid/compiler/i386/cpuelf.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas
Revision: 23435
Author: yury
Date: 18 Jan 2013 0:46:23
Message:
* Enable safecall exception handling for arm-android.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23434
Author: yury
Date: 18 Jan 2013 0:28:59
Message:
* Removed leftover from my experiments (calling directly pascal main).
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23433
Author: yury
Date: 17 Jan 2013 23:43:09
Message:
* Uses SysUtils to make executable bigger. Otherwise string pointers for FindResource can be less than $10000. They are treated as IDs in such case and the test will fail.
----
Modified : /branches/targetandroid/tests/test/units/system/tres.pp
Revision: 23429
Author: yury
Date: 17 Jan 2013 18:49:23
Message:
* Thread safety.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23427
Author: yury
Date: 17 Jan 2013 14:48:03
Message:
* Skip this test for android.
----
Modified : /branches/targetandroid/tests/test/textthr.pp
Revision: 23426
Author: yury
Date: 17 Jan 2013 14:21:51
Message:
* Fixed ifdefs linux to unix.
----
Modified : /branches/targetandroid/tests/test/tstring10.pp
Modified : /branches/targetandroid/tests/test/units/classes/tsetstream.pp
Modified : /branches/targetandroid/tests/test/units/dos/tdos.pp
Modified : /branches/targetandroid/tests/test/units/dos/tidos.pp
Revision: 23425
Author: yury
Date: 17 Jan 2013 14:20:56
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp
Modified : /branches/targetandroid/tests/test/testfpuc.pp
Modified : /branches/targetandroid/tests/test/textthr.pp
Modified : /branches/targetandroid/tests/test/tlib2a.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tpoll.pp
Modified : /branches/targetandroid/tests/test/tsafecall1.pp
Modified : /branches/targetandroid/tests/test/tsafecall2.pp
Modified : /branches/targetandroid/tests/test/tsafecall3.pp
Modified : /branches/targetandroid/tests/test/tsafecall4.pp
Modified : /branches/targetandroid/tests/test/units/system/tres.pp
Modified : /branches/targetandroid/tests/test/units/system/tres2.pp
Modified : /branches/targetandroid/tests/test/units/system/tres3.pp
Revision: 23424
Author: yury
Date: 17 Jan 2013 14:02:35
Message:
* Fixed AnsiStrLComp() and AnsiStrLIComp().
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23423
Author: yury
Date: 17 Jan 2013 13:49:55
Message:
* Fixed stupid copy-paste error.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23409
Author: yury
Date: 16 Jan 2013 16:46:02
Message:
* Fixed conflict of native android and java android targets.
----
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini
Revision: 23406
Author: yury
Date: 16 Jan 2013 15:33:50
Message:
* Set stackalign field.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Revision: 23404
Author: yury
Date: 16 Jan 2013 12:57:51
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704a.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586a.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822c.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838a.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730a.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730c.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089a.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089b.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089d.pp
Modified : /branches/targetandroid/tests/webtbs/uw2364.pp
Revision: 23402
Author: yury
Date: 16 Jan 2013 12:50:52
Message:
* Use collation when comparing strings.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23401
Author: yury
Date: 16 Jan 2013 12:41:32
Message:
* If there is no HOME directory, the current dir must be used.
----
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp
Revision: 23400
Author: yury
Date: 16 Jan 2013 12:40:25
Message:
* Fixed expanding ~ if there is no HOME env var set.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc
Revision: 23391
Author: yury
Date: 15 Jan 2013 14:12:56
Message:
* Make sure that the thread has been started, before destroying the event.
----
Modified : /branches/targetandroid/tests/test/tbrtlevt.pp
Revision: 23390
Author: yury
Date: 15 Jan 2013 13:55:24
Message:
* Do not use DOS code pages for Android. Now all CP string tests pass on Android.
----
Modified : /branches/targetandroid/tests/test/tcpstr17.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcat3.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti2.pp
Revision: 23389
Author: yury
Date: 15 Jan 2013 13:53:50
Message:
* Use more common code pages 1251 and 1252 instead of old DOS code pages (not available on Android). There is Euro symbol character that has different code in 1251 and 1252 code pages. Use it for tests.
----
Modified : /branches/targetandroid/tests/test/tcpstr1.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompare.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompareequal.pp
Revision: 23386
Author: yury
Date: 15 Jan 2013 10:22:30
Message:
* Skip 2 tests for android, since they require local execution.
----
Modified : /branches/targetandroid/tests/test/tcpstr19.pp
Modified : /branches/targetandroid/tests/test/tcpstr9.pp
Revision: 23385
Author: yury
Date: 15 Jan 2013 10:20:43
Message:
* Fixed running library tests on android.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 23382
Author: yury
Date: 14 Jan 2013 16:20:44
Message:
* Implemented Unicode string manager for Android. It uses ICU library libicuuc.so. Note: ICU on Android has limited number of code pages. So don't expect support for DOS code pages or other exotic code pages.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp
Revision: 23301
Author: yury
Date: 2 Jan 2013 20:47:09
Message:
* I've found that libc on Android does not implement widechar case functions such as towupper(). Such functions are just wrappers over regular char functions. Therefore the whole cwstring unit is useless for Android. For now I've added stub cwstring unit for Android and reverted all Android specific changes in unix/cwstring.pp. Later, Unicode manager for Androud should be implemented using libicuuc, which is default Android lib.
----
Added : /branches/targetandroid/rtl/android/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Revision: 23299
Author: yury
Date: 2 Jan 2013 19:38:08
Message:
* Android does not have libiconv, so don't use it in cwstring unit. For now support only UTF-8 code page in ansistrings. Later it is possible to use libicuuc for code page conversions on Android.
----
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Revision: 23298
Author: yury
Date: 2 Jan 2013 17:41:36
Message:
* Added uuchar unit to build for android.
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Revision: 23289
Author: yury
Date: 2 Jan 2013 2:53:36
Message:
* Always specify dynamic linker name for executables.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23288
Author: yury
Date: 2 Jan 2013 2:04:41
Message:
* Updated Makefile
----
Modified : /branches/targetandroid/rtl/android/Makefile
Revision: 23287
Author: yury
Date: 2 Jan 2013 2:03:42
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Revision: 23286
Author: yury
Date: 2 Jan 2013 2:01:43
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Deleted : /branches/targetandroid/rtl/android/arm/cprt0.as
Deleted : /branches/targetandroid/rtl/android/i386/cprt0.as
Revision: 23285
Author: yury
Date: 2 Jan 2013 1:59:48
Message:
* libctype is not needed, since only bionic is supported anyway.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 23284
Author: yury
Date: 2 Jan 2013 1:49:12
Message:
* Rework of Android startup code. It is needed to always link to libc on android to implement finalization and environment variables in shared libraries.
* Cleanup of Android linker.
* Use only INSERT command in the linker script to inject custom .fpc sections. Whole linker script duplication is nor needed anymore.
* Use BFD linker, since GOLD linker does not support INSERT command. Other incompatibilities may also exist.
* Enable tf_smartlink_sections for i386-android.
* i386-android is broken after this commit. Will be fixed later.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as
Modified : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 23283
Author: yury
Date: 2 Jan 2013 1:48:07
Message:
* Enable weak externals for android.
----
Modified : /branches/targetandroid/compiler/systems.pas
Revision: 23236
Author: yury
Date: 28 Dec 2012 12:42:27
Message:
* Oops, wrong commit r23235. Reverted. Now correct: Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/rtl/inc/exeinfo.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23235
Author: yury
Date: 28 Dec 2012 11:38:04
Message:
* Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp
Revision: 23232
Author: yury
Date: 27 Dec 2012 22:52:26
Message:
* Fixed the test for android.
----
Modified : /branches/targetandroid/tests/test/units/dos/tdos2.pp
Revision: 23231
Author: yury
Date: 27 Dec 2012 22:51:32
Message:
+ Added C object files for arm-android.
----
Added : /branches/targetandroid/tests/test/cg/obj/android
Added : /branches/targetandroid/tests/test/cg/obj/android/arm
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext6.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext6.o
Revision: 23226
Author: yury
Date: 27 Dec 2012 10:17:06
Message:
* Support for running tests on a remote Android device using ADB.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/utils/dotest.pp
Revision: 22048
Author: tom_at_work
Date: 9 Aug 2012 17:13:51
Message:
re-apply the changes of r22045 to correct files after recent revert
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/i386
Added : /branches/targetandroid/rtl/android/i386/cprt0.as
Added : /branches/targetandroid/rtl/android/i386/dllprt0.as
Added : /branches/targetandroid/rtl/android/i386/prt0.as
Revision: 22047
Author: tom_at_work
Date: 9 Aug 2012 16:57:34
Message:
- revert r22045: applied changes to wrong files, i.e. linux system files, instead of android ones
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Added : /branches/targetandroid/rtl/linux/i386/cprt21.as
Added : /branches/targetandroid/rtl/linux/i386/gprt21.as
Revision: 22045
Author: tom_at_work
Date: 9 Aug 2012 11:05:38
Message:
Made cprt0 startup files to compile. Static executables using them likely do not work though.
Removed obsolete startup files (?prt21*).
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Deleted : /branches/targetandroid/rtl/linux/i386/cprt21.as
Deleted : /branches/targetandroid/rtl/linux/i386/gprt21.as
Revision: 22044
Author: tom_at_work
Date: 9 Aug 2012 11:00:16
Message:
Updated systems/t_android to only recognize the "bionic" libc as valid libc.
Fix uninitialized defdynlinker variable when compiling i386-android causing garbage in the linker script.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Revision: 21296
Author: tom_at_work
Date: 15 May 2012 0:14:12
Message:
* basic android/x86 support
----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/i386/cputarg.pas
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/x86.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile
Revision: 21066
Author: tom_at_work
Date: 26 Apr 2012 22:05:06
Message:
fix pthreads use with Android: it does not provide some functions. This patch is partially based on the bug report 0021525. Further, fix use of sem_timedwait in cthreads.pp since Android supports it.
----
Modified : /branches/targetandroid/rtl/linux/pthread.inc
Modified : /branches/targetandroid/rtl/unix/cthreads.pp
Revision: 21065
Author: tom_at_work
Date: 26 Apr 2012 16:15:52
Message:
bugfixes:
- do not compile ipc unit for android, not supported
- fix geterrnolocation external name
- implement dummy getdomainname; does not exist in android
- remove wrong 'if defined(android)' clauses
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/fpmake.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp
Revision: 21063
Author: tom_at_work
Date: 26 Apr 2012 12:53:37
Message:
- missing makefile
----
Added : /branches/targetandroid/rtl/android/Makefile
Revision: 21062
Author: tom_at_work
Date: 26 Apr 2012 12:41:13
Message:
- commit missing new files
----
Added : /branches/targetandroid/compiler/systems/i_android.pas
Added : /branches/targetandroid/compiler/systems/t_android.pas
Added : /branches/targetandroid/rtl/android
Added : /branches/targetandroid/rtl/android/Makefile.fpc
Added : /branches/targetandroid/rtl/android/arm
Added : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/arm/dllprt0.as
Added : /branches/targetandroid/rtl/android/arm/prt0.as
Revision: 21061
Author: tom_at_work
Date: 26 Apr 2012 12:36:42
Message:
- initial support for the android/arm target in the compiler; resulting .so's can be used for Android/ARM app development.
- basic rtl support using system calls
- fp(c)make/fppkg/makefile support
todo:
- revisit systems/t_android.pas: mostly duplicate with t_linux.pas, containing
lots of unnecessary code
- revisit rtl changes
- android ndk header translation import
- better app build/packaging support
- android/x86 support
----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/arm/cputarg.pas
Modified : /branches/targetandroid/compiler/compiler.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile.fpc
Modified : /branches/targetandroid/packages/fpmkunit/src/fpmkunit.pp
Modified : /branches/targetandroid/packages/fppkg/src/fpmkunitsrc.inc
Modified : /branches/targetandroid/packages/gnome1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk2/fpmake.pp
Modified : /branches/targetandroid/packages/imlib/fpmake.pp
Modified : /branches/targetandroid/packages/opengl/fpmake.pp
Modified : /branches/targetandroid/packages/sdl/fpmake.pp
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/Makefile.fpc
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcmkcfg/fppkg.inc
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fppkg/fppkg.pp
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile
git-svn-id: trunk@23604 -
2013-02-13 12:00:15 +00:00
paul
2a3618fb6c
compiler: set apptype using new SetAppType routine, add 'CONSOLE' define for console apptype.
...
git-svn-id: trunk@23603 -
2013-02-13 03:21:03 +00:00
yury
f8af2cd49e
* Set android-i368 stack alignment to 16.
...
git-svn-id: branches/targetandroid@23475 -
2013-01-21 11:51:09 +00:00
yury
3e151ac30f
* Removed -z relro linker option, since it causes problems.
...
git-svn-id: branches/targetandroid@23474 -
2013-01-21 11:45:29 +00:00
yury
9b600b9688
* Pass some security switches to LD. They are passed by GCC.
...
* Removed unused function.
git-svn-id: branches/targetandroid@23451 -
2013-01-18 23:32:26 +00:00
yury
d05912cd8e
* Enable safecall exception handling for arm-android.
...
git-svn-id: branches/targetandroid@23435 -
2013-01-17 22:46:23 +00:00
yury
281768b145
* Set stackalign field.
...
git-svn-id: branches/targetandroid@23406 -
2013-01-16 13:33:50 +00:00
yury
d26f0552a0
* Sync with trunk r23404.
...
* Regenerated makefiles.
git-svn-id: branches/targetandroid@23405 -
2013-01-16 13:21:51 +00:00
sergei
af4935e346
+ Support dynamic copy relocations.
...
* For unresolved weak symbols, provide dynamic binding only if they are referenced via GOT or PLT (ld-compatible behavior).
* Made more TElfExeOutput properties/methods usable by descendant classes.
* x86_64/cpuelf.pas: some refactoring, handle DTPOFF relocations, prohibit TPOFF relocations in shared objects.
* i386/cpuelf.pas: set symref_from_text flags for copy relocations to work correctly.
git-svn-id: trunk@23375 -
2013-01-13 17:44:14 +00:00
sergei
b197919953
* Handle relocation section prefixes (.rel/.rela) in internal linker script based on ElfTarget.relocs_use_addend, getting rid of $ifdef's.
...
+ Linker script adjustments for ARM target.
git-svn-id: trunk@23338 -
2013-01-07 15:13:05 +00:00
florian
318f0e5cab
* enable section smartlinking for powerpc-linux to reduce compilation
...
times, some testing with qemu-ppc showed no problems
git-svn-id: trunk@23305 -
2013-01-03 23:04:29 +00:00
yury
2dcb174f25
* Always specify dynamic linker name for executables.
...
git-svn-id: branches/targetandroid@23289 -
2013-01-02 00:53:36 +00:00
yury
9b5511adac
* libctype is not needed, since only bionic is supported anyway.
...
git-svn-id: branches/targetandroid@23285 -
2013-01-01 23:59:48 +00:00
yury
6ccb152647
* Rework of Android startup code. It is needed to always link to libc on android to implement finalization and environment variables in shared libraries.
...
* Cleanup of Android linker.
* Use only INSERT command in the linker script to inject custom .fpc sections. Whole linker script duplication is nor needed anymore.
* Use BFD linker, since GOLD linker does not support INSERT command. Other incompatibilities may also exist.
* Enable tf_smartlink_sections for i386-android.
* i386-android is broken after this commit. Will be fixed later.
git-svn-id: branches/targetandroid@23284 -
2013-01-01 23:49:12 +00:00
pierre
1dd964960c
* Enable use of amd64 ld GNU linker for i386 by adding target and emul command line args for freebsd
...
git-svn-id: trunk@23282 -
2013-01-01 23:00:02 +00:00
Károly Balogh
8fe2828e5a
it seems Coldfire needs tf_requires_proper_alignment, fixes taddr1/2 tests, maybe others too (but someone with clue about RTTI should confirm)
...
git-svn-id: trunk@23270 -
2013-01-01 04:51:47 +00:00
pierre
ab52c48520
Add DynLinkStr support
...
git-svn-id: trunk@23180 -
2012-12-18 15:08:59 +00:00
sergei
0196c62ee8
+ Initial work to support versions of ELF dynamic symbols.
...
git-svn-id: trunk@23170 -
2012-12-18 08:25:57 +00:00
sergei
73030ddb57
+ Support smart-linked .rdata section with external linker for Windows targets after r23025.
...
git-svn-id: trunk@23084 -
2012-12-01 15:04:23 +00:00
pierre
93b2c1a717
Use dwarf2 as default debug format for Win64 target OS
...
git-svn-id: trunk@23081 -
2012-11-29 14:20:13 +00:00
sergei
a7e7d97da6
* ELF linker: fixed written values of STT_TLS symbols, they must be relative to PT_TLS segment address.
...
* Made name of dynamic interpreter variable, it is now set correctly for each target.
- Removed setting header flags for ARM. This functionality belongs to CPU-specific unit anyway, and probably must be implemented using object attributes in modern ABIs.
git-svn-id: trunk@23032 -
2012-11-19 09:07:45 +00:00
sergei
49501413e1
+ Support library grouping in internal linker script, use it to load C libraries.
...
git-svn-id: trunk@22962 -
2012-11-09 14:38:11 +00:00
Jonas Maebe
cf717c4b75
* use -iphone_os_min rather than -ios_version_min, because the former
...
(older) version of the parameter is still supported by current linker
versions, but the older version isn't supported by older linker
versions
git-svn-id: trunk@22954 -
2012-11-08 20:17:42 +00:00
Jeppe Johansen
3ee29eb219
Fixed ARMv7-EM code generation and RTL compilation
...
Added LM4F120H5 controller type and startup code
git-svn-id: branches/laksen/arm-embedded@22903 -
2012-11-01 17:25:01 +00:00
Tomas Hajny
c5ad42e82f
* fix for missing space in emxbind parameters for resource files linking
...
git-svn-id: trunk@22854 -
2012-10-26 20:52:53 +00:00
Tomas Hajny
9a935fb172
* fix for missing space in emxbind parameters for resource files linking
...
git-svn-id: trunk@22853 -
2012-10-26 20:52:11 +00:00
sergei
f94ba86bb9
* ModulesLinkToLibc: another fix. We also have to look in ImportLibraryList because items contained there aren't yet merged into linkothersharedlibs when this function is called.
...
git-svn-id: trunk@22831 -
2012-10-23 14:51:35 +00:00
Jeppe Johansen
818b43c060
Updated localalign values, and changed the behaviour of alignment of load/stores to not break aligned half-word copies
...
git-svn-id: branches/laksen/arm-embedded@22828 -
2012-10-23 12:45:40 +00:00
florian
04543b179f
o merge of the branch laksen/arm-embedded of Jeppe Johansen:
...
fixes a couple of arm-embedded stuff,
adds some controllers, start of fpv4_s16 support, for a complete list of
changes see below:
------------------------------------------------------------------------
r22787 | laksen | 2012-10-20 22:00:36 +0200 (Sa, 20 Okt 2012) | 1 line
Properly do NR_DEFAULTFLAGS detection/allocation/deallocation
------------------------------------------------------------------------
r22782 | laksen | 2012-10-20 07:44:55 +0200 (Sa, 20 Okt 2012) | 1 line
Fixed flags detections code for wide->short optimization code for Thumb-2
------------------------------------------------------------------------
r22778 | laksen | 2012-10-19 20:23:14 +0200 (Fr, 19 Okt 2012) | 1 line
Added coprocessor registers, and support for 6 operands(MCR/MRC instructions, etc)
------------------------------------------------------------------------
r22647 | laksen | 2012-10-14 21:28:08 +0200 (So, 14 Okt 2012) | 1 line
Added register specifications to lpc1768.pp. From Joan Duran
------------------------------------------------------------------------
r22646 | laksen | 2012-10-14 21:10:20 +0200 (So, 14 Okt 2012) | 4 lines
Fixed some minor formating issues
Implemented a small heap mananger
Implemented console IO
Changed default LineEnding to CrLf(to ease console IO parsing)
------------------------------------------------------------------------
r22599 | laksen | 2012-10-09 08:58:58 +0200 (Di, 09 Okt 2012) | 1 line
Added all STM32F1 configurations
------------------------------------------------------------------------
r22597 | laksen | 2012-10-08 22:10:45 +0200 (Mo, 08 Okt 2012) | 1 line
Added initial support for the Cortex-M4F FPv4_S16 FPU
------------------------------------------------------------------------
r22596 | laksen | 2012-10-08 22:04:14 +0200 (Mo, 08 Okt 2012) | 1 line
Added FPv4_d16 FPU instructions, and a few extra registers
------------------------------------------------------------------------
r22592 | laksen | 2012-10-08 16:07:40 +0200 (Mo, 08 Okt 2012) | 2 lines
Added support for IT block merging
Added a peephole pattern check for UXTB->UXTH chains
------------------------------------------------------------------------
r22590 | laksen | 2012-10-08 14:30:00 +0200 (Mo, 08 Okt 2012) | 3 lines
Add CBNZ/CBZ instructions
Create preliminary Thumb-2 PeepHoleOptPass2 code, hacked together from the ARM mode code
Added a number of simple size optimizations for common Thumb-2 instructions
------------------------------------------------------------------------
r22582 | laksen | 2012-10-08 06:49:39 +0200 (Mo, 08 Okt 2012) | 3 lines
Fix optimizations of Thumb-2 code
Fix problem with loading of condition operand for IT instructions
Properly split IT blocks when register allocator tries to spill inside a block.
------------------------------------------------------------------------
r22581 | laksen | 2012-10-08 05:15:40 +0200 (Mo, 08 Okt 2012) | 4 lines
Fixed assembler calling command line for cpus>ARMv5TE. EDSP instructions will generate errors while assembling, due to RTL assembler routines
Updated boot code for all Cortex-M3 controllers, and sc32442b to use weak linking for exception tables.
Cortex-M3 devices now also share initialization routine to simplify maintenance
STM32F10x classes now have specific units which fit the interrupt source names and counts
------------------------------------------------------------------------
r22580 | laksen | 2012-10-08 05:10:44 +0200 (Mo, 08 Okt 2012) | 2 lines
Added support for .section, .set, .weak, and .thumb_set directive for GAS assembler reader
IFDEF'ed JVM specific assembler directives, to prevent ait_* set to exceed 32 elements
------------------------------------------------------------------------
r22579 | laksen | 2012-10-08 02:10:52 +0200 (Mo, 08 Okt 2012) | 3 lines
Remove all traces of the interrupt vector table generation mechanism
Clean up cpuinfo tables
Fixed ARMv7M bug(BLX <label> doesn't exist on that version)
git-svn-id: trunk@22792 -
2012-10-21 08:39:52 +00:00
sergei
6d70009f06
+ ELF linker. Works on x86_64-linux and i386-linux good enough to pass the testsuite, but still requires a lot of work in nearly all aspects. In particular, no attempt to resolve symbols from shared libs is done, everything is just treated as imports. Symbol versioning isn't supported either.
...
x86_64 is the most elaborated, has some degree of indirect function (GNU_IFUNC) and TLS support, so it is even able to link with static libc/pthreads code (tw14265) and produce an executable that can launch (but still fails due to invalid DWARF unwind info).
i386 produces working shared libraries if they are compiled with -Cg, without one your mileage may vary. tw14265 does not link yet due to missing COMDAT group support.
git-svn-id: trunk@22775 -
2012-10-19 17:21:08 +00:00
sergei
0e8829e4e2
* ModulesLinkToLibc: Search for both bare and prefixed names of libc. When this function is invoked, import library names are not yet normalized and either one may be present. Failure to detect libc may end up in using wrong sysinit unit, this fortunately affects only i386-linux (other Linux targets aren't using Pascal sysinit units yet).
...
git-svn-id: trunk@22620 -
2012-10-12 20:47:07 +00:00
pierre
714bb61b51
Set res field to res_elf for linux mips/mipsel systems
...
git-svn-id: trunk@22605 -
2012-10-09 14:10:23 +00:00
Jeppe Johansen
14879a9e82
Added all STM32F1 configurations
...
git-svn-id: branches/laksen/arm-embedded@22599 -
2012-10-09 06:58:58 +00:00
pierre
e2f5e11778
Add tf_pic_uses_got for sparc linux and sparc solaris
...
git-svn-id: trunk@22485 -
2012-09-27 15:54:21 +00:00
tom_at_work
f5ddc02a5c
+ add debian armel library search path
...
+ for armhf, use the more canonical ld-linux-armhf.so.3 as defdynlinker
git-svn-id: trunk@22416 -
2012-09-17 21:13:37 +00:00
Jonas Maebe
bd31004fdb
+ describe for each supported target the default guaranteed stack alignment
...
git-svn-id: trunk@22278 -
2012-09-02 14:32:12 +00:00
pierre
f1687fe8a6
Do not include CPUMIPS32 in extradefines for mips/mipsel systems as it is added in options unit
...
Do not include MIPSEL in extradefines for system_mipsel_linux as this forbids cross-compilation
git-svn-id: trunk@22263 -
2012-08-28 13:51:29 +00:00
tom_at_work
810adb2f65
Merge with trunk r22040. Regenerated makefiles.
...
git-svn-id: branches/targetandroid@22046 -
2012-08-09 08:12:34 +00:00
tom_at_work
fe87b547ea
Updated systems/t_android to only recognize the "bionic" libc as valid libc.
...
Fix uninitialized defdynlinker variable when compiling i386-android causing garbage in the linker script.
git-svn-id: branches/targetandroid@22044 -
2012-08-09 08:00:16 +00:00
florian
ad3aa937d3
* respect Dontlinkstdlibpath when adding a default library search path
...
git-svn-id: trunk@22011 -
2012-08-04 17:29:07 +00:00
florian
2b6fc9b1ee
+ at least raspian has no soft links in /usr/lib to crt*.o, so add their location to the search path
...
git-svn-id: trunk@22004 -
2012-08-04 08:16:02 +00:00
sergei
2638bc01d9
* Fixed error introduced in r21732. For libraries, startup is always dllprt0.o, regardless of profiling/linking to libc. Mantis #22397 .
...
git-svn-id: trunk@21824 -
2012-07-09 12:18:34 +00:00
tom_at_work
4150f0a2fb
Rebase with r21814
...
git-svn-id: branches/targetandroid@21815 -
2012-07-07 23:09:20 +00:00
sergei
1a25aed68d
* Renamed a method for consistency (let script building methods start with ScriptAdd).
...
git-svn-id: trunk@21814 -
2012-07-07 22:49:05 +00:00
pierre
0a21c01737
Use 8 for max record alignment for mips/mipsel
...
git-svn-id: trunk@21782 -
2012-07-04 16:34:51 +00:00
sergei
32e399159f
* Factored common parts that can be/should be reused in the internal linker.
...
git-svn-id: trunk@21732 -
2012-06-28 20:21:17 +00:00
sergei
346fbef445
* Factored a common linker script building block into separate method.
...
git-svn-id: trunk@21730 -
2012-06-28 17:18:02 +00:00
pierre
d2dc860b1b
Use 4 for mips(eb/el) recordalignmax field
...
git-svn-id: trunk@21669 -
2012-06-21 11:49:49 +00:00
pierre
ca497405b8
Avoid double call to set_source_info for mipsel
...
git-svn-id: trunk@21614 -
2012-06-14 15:51:49 +00:00
pierre
600dd162af
Merge of rev21557 by Foxsen
...
Make macro MIPS/CPUMIPS/MIPS32 common for big endian and little endian mips processors
use MIPSEL* for little endian systems
use MIPSEB* for big endian systems
git-svn-id: trunk@21599 -
2012-06-13 22:25:38 +00:00
pierre
9fc6f91cd0
Set correct source info for mips/mipsel
...
git-svn-id: trunk@21545 -
2012-06-08 10:07:46 +00:00
pierre
ac38901d2a
* Patch from Fuxin Zhang: set first_pram_offset to 0 for mips and mipsel CPUs
...
git-svn-id: trunk@21534 -
2012-06-07 23:11:16 +00:00
pierre
069cd9f250
Fix go32v2 staticClibprefix used by internal linker
...
git-svn-id: trunk@21442 -
2012-05-31 09:34:53 +00:00
sergei
3a89544cd6
+ Internal linker for go32v2:
...
* Enable smart linking on go32v2
* Adapted external linker script for long section names (ld 2.17 from fpcbuild repository does not seem to actually remove unused sections though)
* Do not pass '-lc' twice to external linker
* Pass -Map with correct filename to external linker if -Xm is specified on command line
* Debug sections for DJCOFF must have zero memory position and flag COFF_STYP_INFO (not COFF_STYP_NOLOAD).
git-svn-id: trunk@21435 -
2012-05-30 13:45:36 +00:00
sergei
6571b4d140
* Factored code to create internal link script for debug sections into a separate procedure.
...
git-svn-id: trunk@21410 -
2012-05-28 13:28:21 +00:00
Jonas Maebe
c27f9da1b2
* always surround ld link.res SEARCH_DIR() arguments with double quotes,
...
rather than with single/double quotes depending on the target platform
(ld only supports double quotes), and rather than only quoting when
necessary (wastes time since quotes are always allowed, and double
quotes inside a directory name cannot be escaped for ld; they are
simply not supported by the program) (mantis #22059 , follow-up to
r21069 and r21208)
git-svn-id: trunk@21343 -
2012-05-20 13:30:51 +00:00
Jonas Maebe
ccf895af5a
* link.res is a real linkerscript when we target binutils, not when we
...
target the AIX linker
* never quote file names added to link.res when it's not a linkerscript
(only newline is a separator in the case)
git-svn-id: trunk@21342 -
2012-05-20 13:30:42 +00:00
tom_at_work
77a85b7448
* basic android/x86 support
...
git-svn-id: branches/targetandroid@21296 -
2012-05-14 21:14:12 +00:00
Jonas Maebe
0841ee6e4f
* GNU ld only supports double quotes in its response file -> requote there
...
as well under Unix (mantis #21928 , caused by r21069)
git-svn-id: trunk@21208 -
2012-05-03 12:41:16 +00:00
Jonas Maebe
14cfe770a4
* replaced most (if not all) remaining fields/parameters in the compiler
...
that deal with paths/filenames with TPathStr (= ansistring) to prevent
cutting off long paths (no change in speed when compiling the compiler,
1% extra memory usage)
git-svn-id: trunk@21120 -
2012-04-29 17:36:23 +00:00
Jonas Maebe
834026bfb5
* synchronised with trunk up to r21067
...
git-svn-id: branches/jvmbackend@21068 -
2012-04-26 21:24:20 +00:00
tom_at_work
c520f713f4
- commit missing new files
...
git-svn-id: branches/targetandroid@21062 -
2012-04-26 09:41:13 +00:00
Jonas Maebe
cecdff01e0
* corrected sharedClibext for AIX/ppc32
...
git-svn-id: trunk@21048 -
2012-04-25 20:28:09 +00:00
Jonas Maebe
52d1172f6d
* correctly call assembler for AIX/ppc64
...
* corrected target flags for AIX/ppc64
* corrected some file extensions for AIX/ppc64
git-svn-id: trunk@21047 -
2012-04-25 20:28:05 +00:00
Jonas Maebe
6502717e67
* align all code/data sections to sizeof(pint), instead of sometimes
...
to 0 or 1 (section alignment <> alignment of individual data
elements in section on some platforms, such as AIX)
* set constalignmin and varalignmin to 8 bytes for AIX/ppc64
git-svn-id: trunk@21044 -
2012-04-25 20:27:41 +00:00
pierre
f0afaef920
Use linux/i386 aligmnents for NetBSD/OpenBSD i386
...
git-svn-id: trunk@20937 -
2012-04-20 12:09:41 +00:00
Jonas Maebe
aee5380ae0
* merged trunk up to r20882
...
o support for the new codepage-aware ansistrings in the jvm branch
o empty ansistrings are now always represented by a nil pointer rather than
by an empty string, because an empty string also has a code page which
can confuse code (although this will make ansistrings harder to use
in Java code)
o more string helpers code shared between the general and jvm rtl
o support for indexbyte/word in the jvm rtl (warning: first parameter
is an open array rather than an untyped parameter there, so
indexchar(pcharvar^,10,0) will be equivalent to
indexchar[pcharvar^],10,0) there, which is different from what is
intended; changing it to an untyped parameter wouldn't help though)
o default() support is not yet complete
o calling fpcres is currently broken due to limitations in
sysutils.executeprocess() regarding handling unix quoting and
the compiler using the same command lines for scripts and directly
calling external programs
o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1
to the make command line
git-svn-id: branches/jvmbackend@20887 -
2012-04-15 15:54:10 +00:00
florian
4b7748ad11
* better suitable on x86_64-linux
...
git-svn-id: trunk@20876 -
2012-04-14 20:09:31 +00:00
Jonas Maebe
e9d52f7b95
* fixed copy/paste bug that caused the default target OS to be always set
...
to AIX on Linux PPC32/64 platforms
git-svn-id: trunk@20854 -
2012-04-12 09:36:46 +00:00
Jonas Maebe
adbad5ab96
+ fcl-res support for xcoff/aix
...
+ compiler support for Delphi-style resources on aix
git-svn-id: trunk@20841 -
2012-04-11 18:06:33 +00:00
Jonas Maebe
51e50f72be
+ support for creating dynamic libraries on AIX
...
git-svn-id: trunk@20818 -
2012-04-11 18:04:40 +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
pierre
34a4ee46ff
Use elf32 binary writer for i386 netbsd target
...
git-svn-id: trunk@20776 -
2012-04-09 22:00:54 +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
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
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
pierre
7e71e1d3a0
+ Add system_x86_64_openbsd_info record
...
git-svn-id: trunk@20715 -
2012-04-05 21:06:56 +00:00
Jonas Maebe
86265534d0
* fixed misplaced endif that caused the default target not be set when
...
(hypothetically) running the compiler on Darwin/ARM
git-svn-id: trunk@20662 -
2012-03-29 20:54:38 +00:00
Jonas Maebe
6ba8dc7146
+ support for the ARM hard float EABI on Linux (patch by Peter Green):
...
o new eabihf (hard float) abi
o vfpv3_d16 variant of VFP (default variant used by EABI assemblers: VFPv3
with only 16 double registers instead of 32) and pass it to GNU as
o make the odd numbered single precision floating point VFP registers
available for explicit allocation for use by the calling convention
* fixed copy/paste error in stdname of S30 register
-> use -dFPC_ARMHF to create an ARM eabi hard float compiler
(mantis #21554 )
git-svn-id: trunk@20660 -
2012-03-29 20:50:09 +00:00
Jonas Maebe
eb2cccffda
+ -WM<X> and -WP<x> command line parameters to specify the minimally required
...
Mac OS X/iOS version for the compiler code
o such a parameter is not passed, extract the information from the
environment variables MACOSX_DEPLOYMENT_TARGET/IPHONEOS_DEPLOYMENT_TARGET,
like gcc
o if neither the parameter nor the environment variable is used, use preset
default values
o pass on this version setting on to the Darwin linker
o use this setting to determine which version of the startup code (crt1.o
etc) to use, if any (based on information gathered from the GCC sources)
o define a symbol called MAC_OS_X_VERSION_MIN_REQUIRED/
IPHONE_OS_VERSION_MIN_REQUIRED based on this parameter
o for usage information, see
http://wiki.freepascal.org/FPC_New_Features_Trunk#Support_for_specifying_and_querying_the_deployment_version
git-svn-id: trunk@20503 -
2012-03-10 19:31:57 +00:00
pierre
5b71a7597a
i386 NetBSD uses GOT for position independent code
...
git-svn-id: trunk@20353 -
2012-02-15 13:08:49 +00:00
pierre
8efbcbaabb
NetBSD also needs explicit DynamicLinker
...
git-svn-id: trunk@20293 -
2012-02-09 17:38:10 +00:00
pierre
0f1a4f94af
Modern i386 NetBSD has no underscore prefix, but since when?
...
git-svn-id: trunk@20292 -
2012-02-09 17:37:40 +00:00
florian
8b339ded7a
* started to fix the mips(el) linux rtl
...
git-svn-id: trunk@20255 -
2012-02-04 21:25:53 +00:00
Jonas Maebe
6a5cf6cf8d
* always pass -arch parameter to linker when targetting Darwin, instead of
...
skipping this for dynamic libraries (not sure why that was done, but
apparently not passing -arch triggers a bug in Xcode 4.2 Lion linker,
mantis #21159 )
git-svn-id: trunk@20211 -
2012-02-01 19:01:58 +00:00
Tomas Hajny
682299a647
+ add previously missing support for link map generation for OS2 and EMX targets
...
git-svn-id: trunk@20158 -
2012-01-23 21:29:00 +00:00
florian
ce070c93fc
+ patch by Jeppe Johansen to support the SC32442B
...
git-svn-id: trunk@20081 -
2012-01-14 21:39:32 +00:00
florian
7070fef055
* patch by Jeppe Johansen to fix postprocessexecutable for the embedded target if host and target OS have different endianess, resolves #20926
...
git-svn-id: trunk@19913 -
2011-12-29 17:27:28 +00:00
Jonas Maebe
0d5b2b84a8
+ Android/JVM target, including a translation of the Android r14 SDK
...
(= Android 4.0) java headers: java.*, javax.*, org.*, junit.*, android.*).
The RTL can also be used to target earlier versions of the Android
platform, but you manually have to take care of not using APIs that
weren't available yet. Adding separate units for separate platform
versions would only partly solve the problem, because some of the
classes used inside the system unit have also changed across
versions.
Use -Tandroid while compiling to select the Android OS as target
platform.
git-svn-id: branches/jvmbackend@19830 -
2011-12-12 02:34:34 +00:00
Jonas Maebe
8d2a7f3b88
* switched linux/ppc64 to tf_smartlink_sections (works fine even with
...
binutils 2.17, which is kind of ancient by today's standards),
since it's much faster than tf_smartlink_library without an internal
assembler
git-svn-id: trunk@19680 -
2011-11-24 23:46:05 +00:00
pierre
4bda40649d
* Add missing CATRES substitution and remove blank lines in link.res
...
git-svn-id: trunk@19667 -
2011-11-22 11:15:23 +00:00
pierre
30baddd3b8
Fix Haiku shared library creatiion
...
git-svn-id: trunk@19665 -
2011-11-21 14:14:31 +00:00
Jonas Maebe
3188916cda
* also replace $CATRES for shared libraries (fix for r19649)
...
git-svn-id: trunk@19661 -
2011-11-20 20:06:43 +00:00
pierre
836da25e81
* Do not call with UseShell = true if CatFileContent expands the file into parameters
...
git-svn-id: trunk@19650 -
2011-11-18 22:08:51 +00:00
pierre
b1bd1d29ec
Replace cat $RES
by $CATRES and call CatFileContent method
...
git-svn-id: trunk@19649 -
2011-11-18 21:33:24 +00:00
pierre
98c7a5e4b0
* Enable internal elf writer for freebsd x86_64 target
...
git-svn-id: trunk@19608 -
2011-11-08 14:05:57 +00:00
Jonas Maebe
f2823a1d68
* r17629 changed the condition for generating safecall code on x64 and ARM
...
platforms from testing for a Windows target into testing to the
tf_safecall_exceptions target flag. However, this flag was not set for
non-i386 Windows platforms (mantis #20385 )
git-svn-id: trunk@19486 -
2011-10-14 16:11:46 +00:00
pierre
0cd15043b3
* Set a default dynamic linker for OpenBSD
...
git-svn-id: trunk@19451 -
2011-10-10 21:45:21 +00:00
pierre
4601bca836
* i386 OpenBSD target also uses GOT for pic code
...
git-svn-id: trunk@19450 -
2011-10-10 21:44:44 +00:00
pierre
94eea3eca7
* Fix source info for openbsd
...
git-svn-id: trunk@19412 -
2011-10-08 09:53:46 +00:00
pierre
4a8b37016a
i386-OpenBSD 4.9 has no underscore prefix
...
git-svn-id: trunk@19377 -
2011-10-04 22:33:13 +00:00
paul
7a74d2c2f8
compiler: reduce amount of hints and notes
...
git-svn-id: trunk@19293 -
2011-09-30 08:56:05 +00:00
florian
d7f7a9bb76
* patch by Alexander Shishkin to clean up $ifopt usage by $push/$pop, resolves #20346
...
git-svn-id: trunk@19256 -
2011-09-27 20:22:40 +00:00
pierre
1f0e5b496f
Try to support shared libraries for freebsd
...
git-svn-id: trunk@19242 -
2011-09-26 10:25:27 +00:00
pierre
841b3e4179
TImportLibWin.generateimportlib method:
...
local procedure AddImport: Use same RIP relative code
as in ogcoff unit for x86_64 CPU to allow a VMA above
0x100000000 even when using.
TImportLibWin.generateidatasection;
also used RIP base for import libraries created using -WI option.
git-svn-id: trunk@19161 -
2011-09-20 15:25:13 +00:00
sergei
6280ee2eed
* Changed attributes of .pdata section so it is smart-linkable on x86_64.
...
* Changed alignment of .pdata section to 4.
+ Support saving RELOC_NONE relocations to .o files and reading them back on x86_64.
git-svn-id: trunk@19070 -
2011-09-15 15:22:03 +00:00
tom_at_work
9ce34c63c9
Fix shared library loading and unloading for Linux platforms. Shared library initialization and finalization are now called correctly at program startup for compile-time linked dynamic libraries on powerpc-/powerpc64-/arm-/i386- and x86_64-linux.
...
Every startup code must now provide an additional entry point called "_dynamic_start" that is set as new the entry point if the program links to a Pascal shared library. Its purpose is to set up an exit hook usually passed via a register, which should be called during program finalization if non-nil.
We use this additional entry point because this register only has meaningful content when there are any compile-time linked shared libraries, otherwise it often contains random garbage. The difference between the _dynamic_start and the original code is minimal; actually in all implementations the _dynamic_start code passes on control to the old startup code, so we use an additional entry point instead of an additional startup file.
Detailed changes and fixes list:
compiler:
always link to the dynamic loader (ld.so) when compiling shared libraries. Fixes crashes in the loader during shared library finalization on some Linuxes
remove additional ENTRY() section in arm linker script
select either _dynamic_start or _start as entry point depending on whether this is a static or dynamic executable
powerpc*:
do not set System.isLibrary in startup code, it will be set during library initialization anyway
trap in case of reaching code locations that should not be reached instead of looping (possibly endlessly)
powerpc:
register atexit() function pointer if supplied to the executable and call it during shutdown
correctly set argc/argv/envp in shared library code and return correctly to the caller after initialization
pass on exitcode in shared library haltproc
use the more recent exit_group system call if available for shutdown
powerpc64
fix .ptrgl stub, do not set the environment register to the value of the GOT entry in the function descriptor
arm
do not set System.isLibrary in startup code, it will be set during library initialization anyway
reload exitcode to pass to shutdown
mips,mipsel,sparc
added stubs to allow correct linking
git-svn-id: trunk@19036 -
2011-09-08 21:17:35 +00:00
florian
e9f2f3388e
* use dwarf2 on avr-embedded by default because stabs is difficult due to name mangling issues
...
git-svn-id: trunk@18973 -
2011-09-04 19:37:26 +00:00
florian
0781ac1f82
+ support for lpc1768 by David Welch
...
git-svn-id: trunk@18927 -
2011-08-31 20:17:23 +00:00
florian
df01d0209e
* report code and data size for embedded targets
...
git-svn-id: trunk@18866 -
2011-08-27 22:03:40 +00:00
florian
a08dfdf803
o slightly modified patch by John Clymer:
...
* converts the embedded information into controller specific records (arm and avr)
* new cpu-specific units for several Stellaris (Fury and Tempest class) targets,
+ STM32F103RB
- old Stellaris unit has been removed
git-svn-id: trunk@18848 -
2011-08-25 21:46:26 +00:00
Jonas Maebe
f6ddabde85
+ "raw" resource support for the JVM target. The "raw" means that no
...
resource compilation happens and that the standard FPC resource
helpers are not available. What happens is that all files specified
in {$r xxx} statements are packed together into an <appname>.jar
file, under the namespace "org.freepascal.rawresources". They
can be loaded using the java.lang.Class.getResource/getResourceAsStream()
api
git-svn-id: branches/jvmbackend@18776 -
2011-08-20 08:34:57 +00:00
Jonas Maebe
8a95a04e16
* extracted dynarray helpers from system unit into jdynarr.inc (were
...
in the system unit for easier debugging)
* disabled a bunch more feature flags by default for the JVM target
* incorporate modified version of inc/systemh.inc (split into two parts:
jsystemh_types.inc and jsystemh.inc, because some of the types are
required for the declaration of the shortstring/ansistring/set/...
classes, which in turn are required for the routine declarations) and
inc/system.inc (as jsystem.inc)
o moved some routines around from old to new locations based on where
they appear in the common files
o added a number of defines that allow skipping more common implementations
in case a platform-specific one is already available
* all base classes (AnsistringClass etc) are now descendants of
JLObject rather than TObject, because their declaration is now parsed
before TObject is known (and there's no need for them to inherit from
TObject)
* incorporate modified version of inc/system.inc
* use the common version of generic.inc, currh.inc, gencurr.inc and
genmath.inc (with small modification to those files)
+ addition of quite a bit of system unit functionality (halt, runerror,
random, round, str() for integer types, abs, odd, endian swapping helpers,
bit scanning, trigonometric functions, ln, exp, ...)
o round()/trunc() for comp-types has been renamed trunc_comp() on the
JVM target because their JVM signature conflicts with trunc(currency)
o the unsigned versions of swapendian() and other endian helpers are not
available on the JVM target because of JVM signature conflicts
git-svn-id: branches/jvmbackend@18746 -
2011-08-20 08:32:13 +00:00
Jonas Maebe
d456ec2ffe
+ support for JVM local variable and parameter debug information
...
o self is encoded as "this" for javac compatibility
+ ait_jvar (for the above) and ait_jcatch (similar, for future try/catch
support) classes
+ support for smallset JVM type encoding (as int)
git-svn-id: branches/jvmbackend@18354 -
2011-08-20 07:50:41 +00:00
Jonas Maebe
28740dce2d
- removed extra "fordefinition" parameter again from tprocdef.mangledname(),
...
since the definition-specific adorning of JVM mangled names is Jasmin-
specific, and such code has no place in symdef
* moved code to adorn JVM mangled names for Jasmin definitions to agjasmin
git-svn-id: branches/jvmbackend@18346 -
2011-08-20 07:49: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
Jonas Maebe
0ee702b3a2
* tprocdef.mangledname now gets an extra boolean parameter indicating
...
whether the mangled name is for defining a symbol, or for referencing
it later (e.g. for a call or load of its address). The reason is that
on the JVM both cases are different.
+ jvmdef unit to encode types according to the JVM rules
+ tprocdef.jvmmangledname() to encode a procdef's JVM mangled name
(the common part of defining/referencing it; tprocdef.mangledname
afterwards adorns it as required)
git-svn-id: branches/jvmbackend@18288 -
2011-08-20 07:22:00 +00:00
Jonas Maebe
ec8c7b4888
+ when compiling for Darwin/ARM, pass the subarchitecture to the linker.
...
The old linker option to accept object files from all subarchitecture
types no longer works.
+ support for subarchitectures in fcl-res/fpcres
git-svn-id: trunk@18070 -
2011-08-02 20:41:39 +00:00
florian
95ad75c7bf
* hack to set stack top for atmega128
...
* default output for avr-embedded is .hex
git-svn-id: trunk@18015 -
2011-07-17 20:46:05 +00:00
pierre
d1a6ef9cd9
* Restrict use of postw32 external utility to
...
win32/wdosx target systems.
git-svn-id: trunk@17929 -
2011-07-04 07:36:47 +00:00
pierre
c611c91cef
Provide _tls_index in script
...
git-svn-id: trunk@17901 -
2011-07-01 14:27:33 +00:00
pierre
3cc2b5e97b
+ Added default dynamic linker for mips CPU
...
git-svn-id: trunk@17889 -
2011-07-01 07:37:05 +00:00
pierre
0227fbad7d
* Fix some internal linker script lines
...
git-svn-id: trunk@17881 -
2011-06-30 13:02:31 +00:00
pierre
446c128e71
* Double LONG (-1) and LONG (0) for x86_64 linker script
...
git-svn-id: trunk@17862 -
2011-06-28 20:41:05 +00:00
Legolas
2503ac1d97
* Updated nds to devkitARM r33
...
git-svn-id: trunk@17843 -
2011-06-27 12:22:46 +00:00
pierre
239944f8d0
+ Use DLL name in assembler labels used to import DLL functions/variables
...
in Windows, Emx and OS2 targets.
This fixes test failures: test/library/tlib1b.pp and lib2b.pp
link unit TLinker.AddImportSymbol: Added symmangledname parameter.
ogbase unit TImportSymbol.Create: Add AMangledName parameter.
fmodule unit TModule.AddExternalImport: Add symmangledname parameter.
fppu unit: Also put mangled name string for imported symbol.
ppu unit: Increase PPUVersion
utils/ppudump.pp: Adapt to PPU change above.
systems/T_OS units: Use ImportSymbol.MangledName property to create
import libraries or .idata sections.
git-svn-id: trunk@17804 -
2011-06-23 11:38:57 +00:00
pierre
1a9f4ba314
* Improve ogbase linker script support, add warnings for unknown entries
...
git-svn-id: trunk@17784 -
2011-06-21 16:49:50 +00:00
pierre
e4bb241409
* Silence warning in MakeSharedLibrary
...
git-svn-id: trunk@17750 -
2011-06-14 12:37:27 +00:00
Jonas Maebe
78c3e6b359
* always use crtbeginS.o/crtendS.o when generating PIC code, not just when
...
generating libraries for x86_64 (at least all Linux systems I checked
have the S-variants of those files) (mantis #19501 )
git-svn-id: trunk@17713 -
2011-06-10 14:17:20 +00:00
joost
45bc3fcae0
* Enabled safecall on x86_64-linux
...
git-svn-id: trunk@17629 -
2011-06-02 10:43:18 +00:00
Jonas Maebe
1b5fed238a
* don't quote the Darwin syslibroot path in link.res, it's not reinterpreted
...
by the shell since it's cat'ed into the command line
git-svn-id: trunk@17422 -
2011-05-09 21:26:36 +00:00
Jonas Maebe
9cd6a7ad85
* correctly handle -XR (sysroot) paths with spaces under Darwin
...
git-svn-id: trunk@17421 -
2011-05-09 20:14:17 +00:00
paul
d21bbc4548
compiler: reduce amount of hints and warnings
...
git-svn-id: trunk@17350 -
2011-04-20 02:58:52 +00:00
florian
7f0d245ac2
* reintegrate avr branch into trunk, work on avr is less invasive than I thought so it can be continued in trunk
...
git-svn-id: trunk@17348 -
2011-04-19 20:17:52 +00:00
florian
fb84cb865b
* rebase to trunk@17295
...
git-svn-id: branches/avr@17296 -
2011-04-10 19:20:48 +00:00
florian
ebe8078263
* compilation fixed
...
git-svn-id: branches/avr@17293 -
2011-04-10 18:43:44 +00:00
florian
610fa89484
+ basic avr linker script
...
git-svn-id: branches/avr@17292 -
2011-04-10 18:43:04 +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
672d76e636
added a segment table containing segments for symbols defined by linker script (needed for relocs)
...
git-svn-id: trunk@17268 -
2011-04-07 19:38:25 +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
5fc349eda7
* Fixed stacksize for Wii
...
git-svn-id: trunk@17035 -
2011-02-27 19:27:12 +00:00
Jonas Maebe
601b90d74c
* don't specify a custom pagezero size on Mac OS X when compiling with -gv
...
(Valgrind support), because Valgrind cannot deal with that
git-svn-id: trunk@16916 -
2011-02-14 20:31:30 +00:00
Legolas
527dd56b28
+ Initial Wii support
...
git-svn-id: trunk@16888 -
2011-02-07 16:56:45 +00:00
armin
fc34ef31c7
FindUtil was called in SetDefaultInfo and in MakeExecutable.
...
git-svn-id: trunk@16885 -
2011-02-06 16:25:18 +00:00
florian
0be59445f8
+ basic i386-embedded implementation for multiboot by Jeppe Johansen, resolves #15676
...
git-svn-id: trunk@16801 -
2011-01-23 11:18:50 +00:00
Jonas Maebe
1f61b5b30c
* reverted the rtl patches from r14184, because they cause an endless
...
loop when attempting to terminate a process via the RTL compiled into
a Linux shared library (mantis #17383 )
* call FPC_LIB_EXIT (the internal/generic RTL finalisation routine) instead
of FPC_SHARED_LIB_EXIT (the Linux-specific "process exit" code for shared
libraries) as "fini" routine (fixes #14958 again after reverting r14184)
git-svn-id: trunk@16418 -
2010-11-24 15:33:29 +00:00
Jonas Maebe
1271c221f3
- reverted change accidentally committed as part of r16050 that could break
...
internal resources on 32 bit Darwin platforms with small programs
git-svn-id: trunk@16417 -
2010-11-24 11:03:11 +00:00
pierre
ec99b1ba40
* Add tf_dwarf_only_local_labels for win64 as suggested by Willibald Krenn
...
git-svn-id: trunk@16151 -
2010-10-13 08:52:35 +00:00
mazen
b127fc154a
* Fixed spell error revealed by lintian.
...
git-svn-id: trunk@16094 -
2010-10-06 20:33:57 +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
pierre
7c04d8d13b
From patch submitted by Willibald Krenn in Bug Report 17500.
...
* assemble.pas (TInternalAssembler.WriteStab): Use RELOC_ABSOLUTE32 for
32-bit stab entry.
* ogcoff.pas: Add check for correct generated reloc section size.
* systems/t_win.pas: Use 0x400000 image base for x86_64 programs using
stabs debug information format.
git-svn-id: trunk@16056 -
2010-09-28 10:06:54 +00:00