targets (a.o. darwin) in case no ppas.sh is generated (need to generate
a temporary script in that case as well to use the IFS trick)
* fixed exit code checking of ld when using IFS trick (have to check it
before restoring IFS, otherwise we check the "error result" of this
restoration, which will always be 0)
git-svn-id: trunk@9325 -
was broken on 10.1, fixed in 10.2 and worked fine till 10.4, and has been
deprecated/removed in 10.5; conversely, -x has worked all the time, although it
results in slightly bigger binaries on platforms that also support -s)
git-svn-id: trunk@9204 -
* Perform import by name with index as hint, if both import name and import index are specified.
* Fixed import by ordinal when external linker is used.
* Fixed some warnings and notes.
git-svn-id: trunk@9083 -
* correctly define the stack size for BeOS,
+ implement a minimum nl_langinfo function to correctly initialize WideString support
+ add fgl unit in the BeOS RTL makefile
* SysOSAlloc now return nil when the system can not allocate the asked memory,
* HAS_SYSOSFREE is no more defined with an empty implementation under BeOS. This was preventing FPC to reuse memory.
+ there is now a basic implementation of CheckPointer under BeOS.
git-svn-id: trunk@8994 -
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 -
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 -
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 -