Commit Graph

565 Commits

Author SHA1 Message Date
pierre
a823e6834d * remove path for sparc
git-svn-id: trunk@14288 -
2009-11-29 20:15:00 +00:00
florian
be8470125f * solaris x86-64 libraries require pic
git-svn-id: trunk@14286 -
2009-11-28 18:27:58 +00:00
pierre
b0a77480cf rlinkpath and initfini fixes
git-svn-id: trunk@14285 -
2009-11-28 07:08:53 +00:00
pierre
100e7c4d76 fix shared lib native linknig
git-svn-id: trunk@14283 -
2009-11-27 23:16:06 +00:00
pierre
6bead44bdf * fix solaris ld version mapfile (option -M)
git-svn-id: trunk@14282 -
2009-11-27 22:38:19 +00:00
pierre
2354c0d43a * avoid trailing spaces in solaris ld call
git-svn-id: trunk@14281 -
2009-11-27 21:23:25 +00:00
florian
28ac4a8dda * several mips/mipsel related stuff fixed
* regenerated linux makefile to support mipsel

git-svn-id: trunk@14278 -
2009-11-27 15:10:56 +00:00
pierre
b52df81a2c + commit Jonas' changes for init/fini for libraires
git-svn-id: trunk@14275 -
2009-11-26 16:53:11 +00:00
pierre
679309704a * fix compilation error
git-svn-id: trunk@14273 -
2009-11-25 16:58:25 +00:00
pierre
f5938d771f * Implement use of solaris linker for libraries
git-svn-id: trunk@14272 -
2009-11-25 16:07:06 +00:00
pierre
ca11bcd6cb + Use of native Solaris linker
git-svn-id: trunk@14270 -
2009-11-24 22:49:56 +00:00
florian
44c6ff898b * mipsel compiler builds
git-svn-id: trunk@14249 -
2009-11-21 22:17:34 +00:00
pierre
30161fdc04 * Use as_ggas for x86_64 solaris
git-svn-id: trunk@14240 -
2009-11-21 16:26:25 +00:00
florian
f54365db94 * adapted more fpc-mips stuff to trunk
git-svn-id: trunk@14230 -
2009-11-20 21:13:53 +00:00
pierre
db8f8e2637 + Register x86_64 Solaris
git-svn-id: trunk@14223 -
2009-11-20 11:05:55 +00:00
pierre
791c165af9 * Use ELF assembler for i386/Solaris target
git-svn-id: trunk@14208 -
2009-11-18 10:50:11 +00:00
pierre
fb8d60a03e * use same alignment for i386 solaris as for i386 linux
git-svn-id: trunk@14174 -
2009-11-14 16:27:20 +00:00
Jonas Maebe
edacea82be * changed assembler directives for darwin lazy/non-lazy symbol pointers
and init/fini routines into their section equivalents (based on patch
    by Dmitry Boyarintsev, mantis #15037)

git-svn-id: trunk@14128 -
2009-11-09 22:20:01 +00:00
pierre
a0159a9740 * Adapt script to DJGPP 2.04
git-svn-id: trunk@14073 -
2009-11-06 00:13:42 +00:00
florian
515774b864 * merged armthum branch
-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«:
U    rtl/arm/setjump.inc
A    rtl/arm/thumb2.inc
U    rtl/arm/divide.inc
A    rtl/embedded/arm/stm32f103.pp
U    rtl/inc/system.inc
U    compiler/alpha/cgcpu.pas
U    compiler/sparc/cgcpu.pas
U    compiler/i386/cgcpu.pas
U    compiler/ncgld.pas
U    compiler/powerpc/cgcpu.pas
U    compiler/avr/cgcpu.pas
U    compiler/aggas.pas
U    compiler/powerpc64/cgcpu.pas
U    compiler/x86_64/cgcpu.pas
U    compiler/cgobj.pas
U    compiler/psystem.pas
U    compiler/aasmtai.pas
U    compiler/m68k/cgcpu.pas
U    compiler/ncgutil.pas
U    compiler/rautils.pas
U    compiler/arm/raarmgas.pas
U    compiler/arm/armatts.inc
U    compiler/arm/cgcpu.pas
U    compiler/arm/armins.dat
U    compiler/arm/rgcpu.pas
U    compiler/arm/cpubase.pas
U    compiler/arm/agarmgas.pas
U    compiler/arm/cpuinfo.pas
U    compiler/arm/armop.inc
U    compiler/arm/narmadd.pas
U    compiler/arm/aoptcpu.pas
U    compiler/arm/armatt.inc
U    compiler/arm/aasmcpu.pas
U    compiler/systems/t_embed.pas
U    compiler/psub.pas
U    compiler/options.pas

git-svn-id: trunk@13801 -
2009-10-04 09:03:44 +00:00
florian
cfe0702494 * set localalignmax properly for arm-oabi, fixes arm-oabi-linux building
git-svn-id: trunk@13799 -
2009-10-03 21:58:46 +00:00
Jonas Maebe
92ff07deaf * several fixes by Pierre Pede (parts of his patch to mantis #12492)
o fixed gprof under linux/i386
    o fixed pic-compilation of the linux/i386 rtl
    o initialisation of linux shared libraries is now possible with pic-code

git-svn-id: trunk@13703 -
2009-09-12 21:57:41 +00:00
Legolas
00a3dae729 * Enabled -Xm switch for NDS and GBA and switched from abi_default to abi_eabi
* Fixed NDS libfat linking

git-svn-id: trunk@13664 -
2009-09-06 18:47:22 +00:00
Jonas Maebe
9da0729d7c * fixed copy/paste error in r13645: fallback to /usr/lib/dylib1.o rather
than /usr/lib/bundle1.o when dylib1.o is not found

git-svn-id: trunk@13658 -
2009-09-06 09:38:19 +00:00
Jonas Maebe
8eb3a34633 * increased length of GCSectionsStr so it can contain the full new
smart linking string for Darwin
  * removed another -no_dead_strip_inits_and_terms that was hardcoded in all
    situations

git-svn-id: trunk@13657 -
2009-09-06 09:35:03 +00:00
Jonas Maebe
1503890756 * don't always pass -no_dead_strip_inits_and_terms, because it automatically
turns on dead code stripping (smart linking). Do specify it when smart
    linking is enabled though.

git-svn-id: trunk@13653 -
2009-09-05 20:19:12 +00:00
Jonas Maebe
6d0eda6e4a * used ld directly rather than libtool to link dynamic libraries, because
libtool from Xcode 3.2 (Mac OS X 10.6) does not support all new linker
    options (in particular -no_order_inits and -no_order_data, both of
    which must be specified when compiling dynamic libraries with FPC and
    Xcode 3.2)

git-svn-id: trunk@13645 -
2009-09-05 10:30:11 +00:00
Jonas Maebe
ec8364904c * set the size of the (invalid) page at address zero to 64kb for 32 bit
Darwin platforms, so that no data can be placed below that address.
    This fixes the strange Windows-compatible resource API, which
    assumes that addresses <64kb do not exist.

git-svn-id: trunk@13600 -
2009-08-26 21:18:53 +00:00
Jonas Maebe
84cefb5eba * fixed dynamic linking of programs that only link with libc after r13584
git-svn-id: trunk@13587 -
2009-08-23 16:05:59 +00:00
Jonas Maebe
9a84dee059 * fixed static linking under Linux for ppc64; test still crashes under
linux/i386 and linux/x86_64 (but at least it links now, mantis #14265)

git-svn-id: trunk@13584 -
2009-08-23 11:53:00 +00:00
Jonas Maebe
5eb7a398e0 * add SIZEOF_HEADERS to the start address of the text section for ARMEL
(fix by thexception, mantis #14100)
  * changed hardcoded "+0x100" for the default linker script also into
    "+ SIZEOF_HEADERS"

git-svn-id: trunk@13418 -
2009-07-20 09:20:02 +00:00
florian
86aad85b78 + section smartlink bss for embedded targets
git-svn-id: trunk@13341 -
2009-06-27 15:21:01 +00:00
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