* fix for Mantis #36706: only link a library against the dynamic loader if we're not linking against the C library anyway
Note: I did not yet find a case where we *do* need to link a library against the loader; this will have to be investigated further, but for 3.2.0 this is safest
........
* fix for Mantis #36738: when copying a record using its copy operator we assume that we've copied the whole record; this way managed records inside non-managed records are handled correctly
+ added (adjusted) test
........
* when checking for an existing operator overload for the assignment operator, check for the correct variant (explicit or not) matching the overload
+ added tests
........
* GetLoadErrorStr (currently) returns a ShortString, so avoid a useless conversion to AnsiString
........
git-svn-id: branches/fixes_3_2@47771 -
U .
--- Recording mergeinfo for merge of r42891 into '.':
U .
--- Merging r43167 into '.':
U compiler/aarch64/cgcpu.pas
U rtl/aarch64/aarch64.inc
--- Recording mergeinfo for merge of r43167 into '.':
U .
--- Recording mergeinfo for merge of r45788 into '.':
G .
--- Merging r46870 into '.':
U rtl/linux/aarch64/sighnd.inc
U rtl/linux/aarch64/sighndh.inc
--- Recording mergeinfo for merge of r46870 into '.':
G .
--- Merging r46872 into '.':
G rtl/linux/aarch64/sighnd.inc
--- Recording mergeinfo for merge of r46872 into '.':
G .
--- Merging r46913 into '.':
U compiler/systems/t_linux.pas
--- Recording mergeinfo for merge of r46913 into '.':
G .
git-svn-id: branches/fixes_3_2@47037 -
------------------------------------------------------------------------
r46501 | pierre | 2020-08-20 05:20:26 +0000 (Thu, 20 Aug 2020) | 1 line
Also add platformopt to DllCmd[1], as done for ExeCmd[1]
------------------------------------------------------------------------
--- Merging r46501 into '.':
U compiler/systems/t_linux.pas
--- Recording mergeinfo for merge of r46501 into '.':
U .
git-svn-id: branches/fixes_3_2@46680 -
U compiler/cfileutl.pas
U compiler/options.pas
U compiler/systems/t_bsd.pas
C compiler/systems/t_linux.pas
--- Merging r43302 into '.':
G compiler/cfileutl.pas
--- Merging r43306 into '.':
G compiler/cfileutl.pas
--- Merging r43312 into '.':
G compiler/cfileutl.pas
G compiler/options.pas
U compiler/scandir.pas
U compiler/systems/t_aix.pas
U compiler/systems/t_beos.pas
G compiler/systems/t_bsd.pas
U compiler/systems/t_haiku.pas
C compiler/systems/t_linux.pas
U compiler/systems/t_macos.pas
U compiler/systems/t_sunos.pas
git-svn-id: branches/fixes_3_2@43421 -
r40905 | pierre | 2019-01-19 16:06:04 +0000 (Sat, 19 Jan 2019) | 1 line
Also add /usr/lib/CPU-linux-gnu to link directory list for mips and mipsel
------------------------------------------------------------------------
--- Merging r40905 into '.':
U compiler/systems/t_linux.pas
--- Recording mergeinfo for merge of r40905 into '.':
U .
git-svn-id: branches/fixes_3_2@41077 -
how the fpc sections have to be linked *on Linux*. This prevents the
"did you forget -T" warnings from ld, and in general is more correct than
our previous approach of specifying a complete linker script without -T
and hoping that there won't be any unexpected interactions with ld's
built-in linker script (fixed version of r31664, thanks to Alan Modra)
o use the new -X9 command line option to generate linker scripts that
are compatible with binutils older than 2.19 (reverts to the old
behaviour)
git-svn-id: trunk@31675 -
how the fpc sections have to be linked *on Linux*. This prevents the
"did you forget -T" warnings from ld, and in general is more correct than
our previous approach of specifying a complete linker script without -T
and hoping that there won't be any unexpected interactions with ld's
built-in linker script
o use the new -X9 command line option to generate linker scripts that
are compatible with binutils older than 2.19 (reverts to the old
behaviour)
git-svn-id: trunk@31664 -
chance of conflicts with the built-in linkerscript is minimised
o removed special case for AArch64 which that already
o check the diff without whitespace changes, most is indentation
git-svn-id: trunk@31459 -
different 'ar' implementations under different platforms
* use the omflib reader instead of the ar reader in the msdos internal linker
git-svn-id: trunk@31322 -
* specify the correct linker emulation to use for ppc64 ELFv2 little endian
* specify the correct default library directories to search for ELFv2 little
endian
git-svn-id: trunk@30194 -
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 -
* 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 -
* 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 -