diff options
Diffstat (limited to 'lang')
-rw-r--r-- | lang/fpc/Makefile | 2 | ||||
-rw-r--r-- | lang/fpc/files/patch-compiler-systems-t_bsd.pas | 36 |
2 files changed, 37 insertions, 1 deletions
diff --git a/lang/fpc/Makefile b/lang/fpc/Makefile index cb1d35814a26..22dcd3f62a43 100644 --- a/lang/fpc/Makefile +++ b/lang/fpc/Makefile @@ -3,7 +3,7 @@ PORTNAME= fpc PORTVERSION= 2.6.2 -PORTREVISION?= 2 +PORTREVISION?= 3 CATEGORIES?= lang MASTER_SITES= ftp://ftp.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:source \ ftp://planetmirror.com/pub/fpc/dist/${PORTVERSION}/source/:source \ diff --git a/lang/fpc/files/patch-compiler-systems-t_bsd.pas b/lang/fpc/files/patch-compiler-systems-t_bsd.pas new file mode 100644 index 000000000000..527acf812024 --- /dev/null +++ b/lang/fpc/files/patch-compiler-systems-t_bsd.pas @@ -0,0 +1,36 @@ +--- 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 |