c597c9a763
- Bump PORTREVISION
36 lines
1.3 KiB
ObjectPascal
36 lines
1.3 KiB
ObjectPascal
--- compiler/systems/t_bsd.pas 2012-04-22 14:47:06.000000000 -0500
|
|
+++ compiler/systems/t_bsd.pas 2013-10-01 21:07:10.000000000 -0500
|
|
@@ -484,10 +484,19 @@
|
|
if linklibc and
|
|
not IsDarwin Then
|
|
begin
|
|
- if librarysearchpath.FindFile('crtbegin.o',false,s) then
|
|
- LinkRes.AddFileName(s);
|
|
if librarysearchpath.FindFile('crti.o',false,s) then
|
|
LinkRes.AddFileName(s);
|
|
+ if cs_create_pic in current_settings.moduleswitches then
|
|
+ begin
|
|
+ if librarysearchpath.FindFile('crtbeginS.o',false,s) then
|
|
+ LinkRes.AddFileName(s);
|
|
+ end
|
|
+ else
|
|
+ if (cs_link_staticflag in current_settings.globalswitches) and
|
|
+ librarysearchpath.FindFile('crtbeginT.o',false,s) then
|
|
+ LinkRes.AddFileName(s)
|
|
+ else if librarysearchpath.FindFile('crtbegin.o',false,s) then
|
|
+ LinkRes.AddFileName(s);
|
|
end;
|
|
{ main objectfiles }
|
|
while not ObjectFiles.Empty do
|
|
@@ -572,7 +581,10 @@
|
|
if linklibc and
|
|
not IsDarwin Then
|
|
begin
|
|
- Fl1:=librarysearchpath.FindFile('crtend.o',false,s1);
|
|
+ if cs_create_pic in current_settings.moduleswitches then
|
|
+ Fl1:=librarysearchpath.FindFile('crtendS.o',false,s1)
|
|
+ else
|
|
+ Fl1:=librarysearchpath.FindFile('crtend.o',false,s1);
|
|
Fl2:=librarysearchpath.FindFile('crtn.o',false,s2);
|
|
if Fl1 or Fl2 then
|
|
begin
|