Commit Graph

533 Commits

Author SHA1 Message Date
florian
a70d36e9c7 + set stack through linker script
* reduced size of fiq and irq stack
* fixed data coping and bss zero'ing loop

git-svn-id: trunk@13301 -
2009-06-20 07:33:25 +00:00
florian
a4eb523d0e * fixed memory sizes
* fixed objdump parameters

git-svn-id: trunk@13299 -
2009-06-19 15:20:38 +00:00
florian
7a65b5c7a0 + added some AT91SAM7 controllers
* improved linker script for arm-embedded

git-svn-id: trunk@13292 -
2009-06-18 21:55:12 +00:00
Jonas Maebe
0daaaf5d3b * fixed compilation after r13217 (some 2.2.x-isms)
git-svn-id: trunk@13220 -
2009-06-01 08:08:16 +00:00
Legolas
d2dabe9a33 * updated nds/gba linker scripts and reverted some changes for 2.2.4a release
- Removed unused/outdated stuff from libndsfpc
+ Added new examples for libndsfpc
+ Added working (I hope so...) makefile.fpc for all libndsfpc/libgbafpc examples

git-svn-id: trunk@13217 -
2009-05-31 12:15:24 +00:00
yury
9a0808d0fb * Set default image base for win64 dlls to $110000000.
git-svn-id: trunk@13160 -
2009-05-17 12:47:26 +00:00
Jonas Maebe
4106ce540f * fixed compilation with -Cr after r13147
* changed type of minstacksize, maxstacksize and imagebase from aword
    (= size of integer registers of the target platform) into puint
    (= size of address space of target platform)

git-svn-id: trunk@13155 -
2009-05-17 10:07:54 +00:00
Jonas Maebe
47c28c2db3 * pass -no_dead_strip_inits_and_terms to the linker, since we use these for
dynamic library initialization (this automatically enables dead code
    stripping/smart linking in all cases though, independent of -XX/CX;
    on the other hand, there is no real reason not to use it anymore on
    Mac OS X, since support was introduced in Xcode 1.5 for
    Mac OS X 10.3.9 and that's also the earliest version we support
    for running FPC on)

git-svn-id: trunk@13151 -
2009-05-16 10:42:23 +00:00
yury
78b2618db6 * Fixed setting of image base using {$IMAGEBASE X} directive.
* Cleanup of relative code.

git-svn-id: trunk@13147 -
2009-05-15 23:12:02 +00:00
yury
187a145358 * Fixed build for ARM targets.
git-svn-id: trunk@13142 -
2009-05-14 08:47:18 +00:00
yury
f726e1691b * Fixed warnings and notes.
git-svn-id: trunk@13139 -
2009-05-13 11:26:01 +00:00
yury
e23a304254 * Set default images base to $100000000 for win64 executables as done by MS linkers. It helps to detect portability errors early.
git-svn-id: trunk@13138 -
2009-05-13 10:56:33 +00:00
Jonas Maebe
c9af7d6476 * added tf_dwarf_only_local_labels for Windows (should make DWARF usable
on Windows, although there are still some warnings)

git-svn-id: trunk@12909 -
2009-03-17 17:07:17 +00:00
florian
6e8a6790d1 + FPC_ARMEB and CPUARMEB similiar to FPC_ARMEL and CPUARMEL
git-svn-id: trunk@12907 -
2009-03-17 13:43:24 +00:00
Jonas Maebe
bfd753b7c9 - removed tf_dwarf_relative_addresses again, it causes differences
compared to the gcc-generated code (and removing it does not cause
    other differences). Partial revert of r12592.

git-svn-id: trunk@12904 -
2009-03-16 17:20:04 +00:00
Tomas Hajny
54f3d28ce8 * prefix for import libraries now configurable rather than hardcoded, plus fixed issue with name of OS/2 import libraries
git-svn-id: trunk@12727 -
2009-02-09 00:01:15 +00:00
Jonas Maebe
7d459cf12a * the compiler now explicitly keeps track of the minimally guaranteed
alignment for each memory reference (mantis #12137, and
    test/packages/fcl-registry/tregistry1.pp on sparc). This also
    enables better code generation for packed records in many cases.
  o several changes were made to the compiler to minimise the chances
    of accidentally forgetting to set the alignment of memory references
    in the future:
    - reference_reset*() now has an extra alignment parameter
    - location_reset() can now only be used for non LOC_(C)REFERENCE,
      use location_reset_ref() for those (split the tloc enum so the
      compiler can catch errors using range checking)

git-svn-id: trunk@12719 -
2009-02-08 13:00:24 +00:00
florian
acb06dac1b + Wp<Controllertype> support for arm and avr
git-svn-id: trunk@12664 -
2009-02-02 20:16:25 +00:00
florian
812d159f34 * fixed linker map
git-svn-id: trunk@12618 -
2009-01-26 17:25:16 +00:00
florian
e86a03553e * compilation fixed
git-svn-id: trunk@12613 -
2009-01-26 14:28:07 +00:00
florian
2a29180517 + first linker script for arm-embedded
git-svn-id: trunk@12596 -
2009-01-25 21:48:38 +00:00
Jonas Maebe
0768f82770 * set tf_dwarf_relative_addresses for win32
* switch to external assembler when using dwarf debug info for win32,
    because the internal assembler doesn't work with
    tf_dwarf_relative_addresses
   (mantis #12872)

git-svn-id: trunk@12592 -
2009-01-25 13:24:02 +00:00
Legolas
8506d8fdf1 * Changes to compiler and rtl to make it compatible with devkitARM r24
* First attempt to implement a sort of generic "gate" for adding different file access methods
* Optimized heap and stack handling

git-svn-id: trunk@12562 -
2009-01-18 16:05:44 +00:00
Jonas Maebe
75cbf8cacd * changed default stack sizes that were still 256 KiB into 8 MiB
git-svn-id: trunk@12524 -
2009-01-08 17:13:49 +00:00
Károly Balogh
446e2161ce + Made a single Amiga/MorphOS-specific PathConv import to cfileutl.pas, instead of importing it every single place it is needed.
+ Forced PathConv argument to ShortString. Made a note about implementing AnsiString-aware PathConv later.
+ Made code to use the unified PathConv import (named Unix2AmigaPath(), which explains its functionality better).
+ The above changes fixed various compiler crashes in TAsmScriptAmiga, caused by invoking PathConv with AnsiString arguments, while it only supports ShortString

git-svn-id: trunk@12485 -
2009-01-03 14:34:59 +00:00
florian
24fe46b3a3 + missing includes of fpcdefs.inc added
git-svn-id: trunk@11916 -
2008-10-18 14:07:42 +00:00
Károly Balogh
7ce0dd43ab + re-enable smartlinking for MorphOS
git-svn-id: trunk@11868 -
2008-10-07 20:04:37 +00:00
Jonas Maebe
253ae0c33e * changed abi for darwin/arm from eabi to default, as it appears to be
more closely related to the old abi
  * make sure softfloat is still default for darwin/arm after this change

git-svn-id: trunk@11861 -
2008-10-04 14:06:09 +00:00
Jonas Maebe
d4c2f52090 * disabled pic default for arm/darwin (pic isn't supported yet for arm)
git-svn-id: trunk@11852 -
2008-10-02 21:32:53 +00:00
Jonas Maebe
afa14de20d + some generic changes preparing for darwin/arm support
git-svn-id: trunk@11849 -
2008-10-02 15:10:13 +00:00
florian
9fb21f5c9b * target flags for x86_64-freebsd fixed
* use external assembler on x86_64-freebsd for now because dwarf doesn't work with the internal one

git-svn-id: trunk@11769 -
2008-09-13 15:50:32 +00:00
florian
3417a6e790 * line breaks fixed
git-svn-id: trunk@11764 -
2008-09-13 14:51:48 +00:00
Tomas Hajny
b7339852e1 * reverted previous changes, proper fix still to be found :-(
git-svn-id: trunk@11626 -
2008-08-21 23:58:07 +00:00
Tomas Hajny
ca513b520f * another attempt to fix casing for generated OS/2 import libraries
git-svn-id: trunk@11625 -
2008-08-21 22:39:04 +00:00
Tomas Hajny
512ffe26f5 * use modulename rather than realmodulename for import libraries to avoid packaging issues in case of different casing - 'unit X' in x.pas
git-svn-id: trunk@11623 -
2008-08-21 21:10:06 +00:00
florian
8f95bb12ac * fixed shared linker name for i386
* restored old shared linker search order as good as possible

git-svn-id: trunk@11558 -
2008-08-12 16:45:07 +00:00
yury
72aa4f8cdd * Fixed warnings about uninitialized record fields.
git-svn-id: trunk@11447 -
2008-07-23 11:44:24 +00:00
yury
491f0fa1d8 * Replaced all user defined warnings by TODO comments to reduce compiler noise.
git-svn-id: trunk@11443 -
2008-07-23 11:00:03 +00:00
yury
fd0ed50331 * Removed/commented more unused variables.
* Fixed some uninitialized variable warnings.

git-svn-id: trunk@11442 -
2008-07-23 10:48:53 +00:00
yury
5548824859 * Removed/ifdefed/commented unused local variables.
git-svn-id: trunk@11438 -
2008-07-23 09:22:47 +00:00
yury
efb280e0e9 * Use system_wince in all places.
git-svn-id: trunk@11429 -
2008-07-20 22:39:19 +00:00
giulio
f8790b4e14 Re-enabled smartlinking on go32v2 after r8715 (solves bug #11501)
git-svn-id: trunk@11248 -
2008-06-20 11:20:37 +00:00
florian
fbece263a3 + define CPUARMEL on armel-linux
git-svn-id: trunk@11212 -
2008-06-08 07:42:34 +00:00
giulio
13f39b9e21 Updated go32v2 linker script:
* dwarf debug sections must be placed at address 0
* added names of sections that are commonly found in gcc-compiled libraries (fixes linking to certain libraries)

git-svn-id: trunk@11168 -
2008-06-02 07:29:14 +00:00
florian
fe92758e53 * use ld-linux.so.3 in armel mode
git-svn-id: trunk@11150 -
2008-06-01 10:25:04 +00:00
florian
bcbc221191 * more reasonable defaults when no dyn. linker is found, resolves #10431
git-svn-id: trunk@11020 -
2008-05-20 21:06:12 +00:00
florian
35c0f78642 + Haiku support by Olivier Coursière based on old BeOS support
git-svn-id: trunk@11014 -
2008-05-19 17:33:35 +00:00
florian
4ad8ccf05c * experimentally enabled smartlink sections on sparc linux
git-svn-id: trunk@11002 -
2008-05-18 12:49:00 +00:00
Jonas Maebe
7d1a8f3de2 * always pass (g)crt1.o/bundle1.o as first argument to the linker
for darwin (see #11270)

git-svn-id: trunk@10996 -
2008-05-18 09:49:44 +00:00
Legolas
3a21b6e5a6 * Fixed nds rtl
* Changes for gba:
  * Random number generator is now embedded in the rtl
  * Improved heap 
  * Updated the linker script
  - Removed the outdated gbaunits library and
  + replaced by libgbafpc package

git-svn-id: trunk@10986 -
2008-05-17 18:57:14 +00:00