Commit Graph

447 Commits

Author SHA1 Message Date
Jonas Maebe
1121002c7c * generate PIC by default for darwin/ppc64
git-svn-id: trunk@8873 -
2007-10-21 10:36:05 +00:00
Jonas Maebe
ff3b455a59 * make PIC generation default on Darwin (ppc and i386; ppc64 will be
done in next commit to ease merging)

git-svn-id: trunk@8872 -
2007-10-21 10:34:01 +00:00
Jonas Maebe
3155b650a1 * pass "-syslibroot sysrootpath" to the darwin linker if -XRsysrootpath
is used (mantis #9953)

git-svn-id: trunk@8833 -
2007-10-17 19:25:06 +00:00
florian
f7b0abffec o BeOS patch by Olivier Coursiere:
* reenable creating shared object using the libc based rtl. I have also added gc-sections support.

git-svn-id: trunk@8806 -
2007-10-14 18:37:00 +00:00
micha
89b5825029 * only use ld -T in case of cross-link (-XR), because not all platforms have complete link script yet
git-svn-id: trunk@8718 -
2007-10-01 21:10:51 +00:00
peter
9f0ca44c94 * new tf_smartlink_library flag
* use create_smartlink[_sections|_library] to check what to 
    do for smartlinking

git-svn-id: trunk@8715 -
2007-10-01 16:55:08 +00:00
micha
c3e587355d * fix default dynamic linker location for 64 bit targets in linux
git-svn-id: trunk@8707 -
2007-09-30 21:20:04 +00:00
Tomas Hajny
cd82fd376f * workaround for yet another #%$#@#^ EMX LD.EXE bug (link.res path must not be quoted)
git-svn-id: trunk@8706 -
2007-09-30 21:11:10 +00:00
florian
655ac519d4 * fixed compilation for x86-64
git-svn-id: trunk@8698 -
2007-09-30 15:30:00 +00:00
micha
0625040eba + add -XR switch for target root file system with libs (also used for C lib type detection)
git-svn-id: trunk@8695 -
2007-09-30 15:00:54 +00:00
peter
b5fb7120b8 * fixed length calculation of leb128 constants
git-svn-id: trunk@8666 -
2007-09-27 22:40:38 +00:00
Jonas Maebe
3266f4e483 + Compiler support for pic on darwin/i386. The i386 rtl still needs
to be made pic-safe (mainly accesses to the global default8087cw)
  * At the same time also made the non-pic code abi-compliant (access
    external data via indirect symbol pointers etc)

    Darwin/i386 also puts the got into a virtual register (like
    Darwin/ppc), a.o. because the register allocator fails to colour
    a routine in aasmcpu.pas if we take away ebx from it.

git-svn-id: trunk@8657 -
2007-09-26 21:42:27 +00:00
tom_at_work
c6d42528a2 * linker script: keep got and toc sections together; allows use of -Cg (PIC) in large programs (e.g. compiler) on powerpc64/linux
git-svn-id: trunk@8591 -
2007-09-21 00:05:51 +00:00
Jonas Maebe
9888e674cc * upped recordalignmax for darwin/ppc and darwin/ppc64 a bit
git-svn-id: trunk@8413 -
2007-09-08 22:52:12 +00:00
Jonas Maebe
881f884f4c * also pass -arch parameter when creating bundles
git-svn-id: trunk@8223 -
2007-08-05 11:05:20 +00:00
Jonas Maebe
4cdd590091 * use app_type instead of RelocSection for creating bundles, as
RelocSection is automatically set for all shared libraries

git-svn-id: trunk@8219 -
2007-08-04 09:13:34 +00:00
Jonas Maebe
84ddacd017 + support for creating a bundle instead of a library on Darwin (-Wb)
git-svn-id: trunk@8217 -
2007-08-03 12:42:49 +00:00
Jonas Maebe
661c2eba37 * clean up of previous fix
git-svn-id: trunk@8177 -
2007-07-28 10:48:12 +00:00
marco
727b68c9b0 * small fix for OS X related typo.
git-svn-id: trunk@8175 -
2007-07-28 10:09:23 +00:00
Jonas Maebe
9c69c9dcf8 * fixed handling of paths/files with spaces in their name in link.res
on platforms where the `cat link.res` trick is used. Those must
    /not/ be quoted, because otherwise the shell assumes those quotes
    are part of the filename, and will escape the quotes themselves.

    Instead, write everything out without quotes, but set IFS to
    <newline> before doing the cat, so that only a new line is seen
    as a separator between items. The shell will then insert the
    necessary quotes to escape the spaces. One disadvantage: this
    means that other options, such as e.g. "-arch ppc" under Darwin,
    must now be written split over two lines to avoid the shell
    passing such parameters (which consist of two separate strings)
    as one single parameter (with an escaped space) to ld.

git-svn-id: trunk@8166 -
2007-07-25 16:25:14 +00:00
Jonas Maebe
a3c9dc5ec6 + support for {$linkframework x} to link to framework x (Darwin only)
+ support for {$frameworkpath x} and -Ffx to add x to the directories to
    search for frameworks (Darwin only)

git-svn-id: trunk@8165 -
2007-07-25 15:42:30 +00:00
florian
5e60b52f28 * ignore pic directive/switch if the platform doesn't support pic, resolves #9281
git-svn-id: trunk@8157 -
2007-07-23 20:25:04 +00:00
peter
725f1d7176 * remove wrong $esle x86_64 causing uninitialized variable
git-svn-id: trunk@8141 -
2007-07-22 20:57:05 +00:00
Legolas
cdf4841517 * Changed .elf extension to .nef (Not Executable File) for intermediate file builds in the NDS compiler (used on no$gba debugger for symbol table)
* Added nds target to ppudump.pp
* Fixed rtl compilation for nds target
* Changes in prt09.as

git-svn-id: trunk@8002 -
2007-07-09 22:17:36 +00:00
yury
fd6862acb9 * fixed debugging problem on arm-linux.
git-svn-id: trunk@7997 -
2007-07-09 21:17:07 +00:00
sekelsenmat
6096874424 Removed winlikewidestrings from symbian
git-svn-id: trunk@7969 -
2007-07-06 11:22:08 +00:00
yury
787aac7478 * Patch from Vincent to enable resources support for win64 using gorc resource compiler.
git-svn-id: trunk@7921 -
2007-07-02 11:02:30 +00:00
yury
b5e38fd2c8 * Fixed resources support on Linux when internal assembler is used.
* Enabled multiple resources support on Linux.

git-svn-id: trunk@7883 -
2007-06-30 23:01:22 +00:00
tom_at_work
3e7a771b69 * fix compilation
git-svn-id: trunk@7692 -
2007-06-16 19:44:02 +00:00
daniel
92975a7c99 * Remove accidentally enabled winlikewidestring.
git-svn-id: trunk@7690 -
2007-06-16 18:27:00 +00:00
daniel
9adb202a92 * Rework the constexprint to allow operations from low(int64) to high(qword).
+ Some initial work on a formaldef which also carries the typinfo of a parameter.

git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
yury
2b84a4643a * Fixed bug #6501: multiple resource files are correctly linked to executable.
It is done in the following way:

When unit is compiled, .rc file are compiled to .res and list of unit's resource files is stored in .ppu
Before final linking all program's .res files are collected into global .res file (.res files are easily concatenated). 
Then this global .res files is compiled to single .or file, which is linked to executable. 
As a result global resource index is created and the problem is fixed.

Old resource processing behavior still supported when tresinfo.rcbin is not set for target.
New resource processing is activated for windows and linux. Cross compiled windres can be used to compile .rc files on linux.

git-svn-id: trunk@7515 -
2007-05-29 15:51:02 +00:00
florian
a3d906f1ca - removed several ;;
git-svn-id: trunk@7498 -
2007-05-28 15:59:17 +00:00
peter
c83f5c8546 * use elf writer for beos
git-svn-id: trunk@7439 -
2007-05-24 07:08:29 +00:00
peter
cbb3667d73 * default dynamic linker for i386
git-svn-id: trunk@7367 -
2007-05-16 20:34:21 +00:00
peter
8a02ac0a5a * don't use generic section rule for .stab and .stabstr
git-svn-id: trunk@7187 -
2007-04-29 09:48:59 +00:00
peter
04f5026a0d * support dwarf2 sections
git-svn-id: trunk@7171 -
2007-04-25 08:02:59 +00:00
sekelsenmat
812ca1e7a7 Improved Symbian OS support. Added c bindings. Simple softwares for the emulator now work
git-svn-id: trunk@7157 -
2007-04-23 05:33:02 +00:00
florian
59d4afc172 * formatting
git-svn-id: trunk@7155 -
2007-04-22 19:50:51 +00:00
florian
1ce644ddda * don't do section smartlinking on symbian
git-svn-id: trunk@7151 -
2007-04-21 20:55:24 +00:00
pierre
0b8e1aa0b4 * fix for tw3661 failure for linux
git-svn-id: trunk@7122 -
2007-04-17 14:25:06 +00:00
marco
96ac89f6d5 * 64-bit FreeBSD port files
git-svn-id: trunk@7082 -
2007-04-09 09:09:01 +00:00
Jonas Maebe
0a6256e44b - disabled linking to SystemStubs for Mac OS X since it's only available
on Mac OS X 10.4 and higher

git-svn-id: trunk@7067 -
2007-04-07 16:39:44 +00:00
florian
ef5c7a595d + more symbian stuff from Felipe Monteiro de Carvalho
git-svn-id: trunk@7057 -
2007-04-03 15:46:43 +00:00
Jonas Maebe
4913e07019 * r7035 for darwin/ppc64
git-svn-id: trunk@7036 -
2007-03-30 12:13:22 +00:00
Jonas Maebe
1cafdf7a59 * change darwin/i386 and ppc from case_sensitive into case_aware
because the directory caching overrules the file system behaviour
    for case-insensitive systems (will do darwin/ppc64 separate because
    it can't be merged back)

git-svn-id: trunk@7035 -
2007-03-30 12:12:21 +00:00
florian
c4ed4ed7c1 * fix gprof support for win32
git-svn-id: trunk@7003 -
2007-03-25 20:26:59 +00:00
marco
a6933471cd * FreeBSD/x86_64 didn't define BSD
git-svn-id: trunk@6977 -
2007-03-24 21:19:06 +00:00
florian
8c8042aaf0 * experimental fix for #8210
git-svn-id: trunk@6948 -
2007-03-21 19:19:30 +00:00
Tomas Hajny
30b78920cd * OS/2 compilation fixes (not completely finished yet)
git-svn-id: trunk@6937 -
2007-03-20 00:49:20 +00:00