mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-20 10:49:20 +02:00
* pthread on -CURRENT related fixes.
This commit is contained in:
parent
6309672d16
commit
9a83a21c64
@ -80,7 +80,8 @@ interface
|
|||||||
cs_asm_regalloc,cs_asm_tempalloc,cs_asm_nodes,
|
cs_asm_regalloc,cs_asm_tempalloc,cs_asm_nodes,
|
||||||
{ linking }
|
{ linking }
|
||||||
cs_link_extern,cs_link_static,cs_link_smart,cs_link_shared,cs_link_deffile,
|
cs_link_extern,cs_link_static,cs_link_smart,cs_link_shared,cs_link_deffile,
|
||||||
cs_link_strip,cs_link_staticflag,cs_link_on_target,cs_link_internal,cs_link_map
|
cs_link_strip,cs_link_staticflag,cs_link_on_target,cs_link_internal,
|
||||||
|
cs_link_map,cs_link_pthread
|
||||||
);
|
);
|
||||||
tglobalswitches = set of tglobalswitch;
|
tglobalswitches = set of tglobalswitch;
|
||||||
|
|
||||||
@ -234,7 +235,10 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.48 2003-12-23 23:22:35 peter
|
Revision 1.49 2004-02-15 16:34:18 marco
|
||||||
|
* pthread on -CURRENT related fixes.
|
||||||
|
|
||||||
|
Revision 1.48 2003/12/23 23:22:35 peter
|
||||||
* register calling is now default for i386
|
* register calling is now default for i386
|
||||||
|
|
||||||
Revision 1.47 2003/12/14 20:51:17 daniel
|
Revision 1.47 2003/12/14 20:51:17 daniel
|
||||||
|
@ -1099,6 +1099,8 @@ begin
|
|||||||
include(initglobalswitches,cs_link_internal);
|
include(initglobalswitches,cs_link_internal);
|
||||||
'm' :
|
'm' :
|
||||||
include(initglobalswitches,cs_link_map);
|
include(initglobalswitches,cs_link_map);
|
||||||
|
'f' :
|
||||||
|
include(initglobalswitches,cs_link_pthread);
|
||||||
's' :
|
's' :
|
||||||
include(initglobalswitches,cs_link_strip);
|
include(initglobalswitches,cs_link_strip);
|
||||||
'c' : Cshared:=TRUE;
|
'c' : Cshared:=TRUE;
|
||||||
@ -1996,7 +1998,10 @@ finalization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.123 2004-02-03 00:42:08 florian
|
Revision 1.124 2004-02-15 16:34:18 marco
|
||||||
|
* pthread on -CURRENT related fixes.
|
||||||
|
|
||||||
|
Revision 1.123 2004/02/03 00:42:08 florian
|
||||||
+ FPC_PREFETCH defined
|
+ FPC_PREFETCH defined
|
||||||
|
|
||||||
Revision 1.122 2004/01/24 18:12:40 florian
|
Revision 1.122 2004/01/24 18:12:40 florian
|
||||||
|
@ -74,8 +74,6 @@ implementation
|
|||||||
|
|
||||||
tlinkerbsd=class(texternallinker)
|
tlinkerbsd=class(texternallinker)
|
||||||
private
|
private
|
||||||
Glibc2,
|
|
||||||
Glibc21,
|
|
||||||
LdSupportsNoResponseFile : boolean;
|
LdSupportsNoResponseFile : boolean;
|
||||||
LibrarySuffix : Char;
|
LibrarySuffix : Char;
|
||||||
Function WriteResponseFile(isdll:boolean) : Boolean;
|
Function WriteResponseFile(isdll:boolean) : Boolean;
|
||||||
@ -460,6 +458,7 @@ Var
|
|||||||
prtobj : string[80];
|
prtobj : string[80];
|
||||||
HPath : TStringListItem;
|
HPath : TStringListItem;
|
||||||
s,s1,s2 : string;
|
s,s1,s2 : string;
|
||||||
|
linkpthread,
|
||||||
linkdynamic,
|
linkdynamic,
|
||||||
linklibc : boolean;
|
linklibc : boolean;
|
||||||
Fl1,Fl2 : Boolean;
|
Fl1,Fl2 : Boolean;
|
||||||
@ -471,21 +470,22 @@ begin
|
|||||||
begin
|
begin
|
||||||
linkdynamic:=not(SharedLibFiles.empty);
|
linkdynamic:=not(SharedLibFiles.empty);
|
||||||
linklibc:=(SharedLibFiles.Find('c')<>nil);
|
linklibc:=(SharedLibFiles.Find('c')<>nil);
|
||||||
|
linkpthread:=(SharedLibFiles.Find('pthread')<>nil);
|
||||||
|
if (target_info.system =system_i386_freebsd) and linkpthread Then
|
||||||
|
Begin
|
||||||
|
if not (cs_link_pthread in aktglobalswitches) Then
|
||||||
|
begin
|
||||||
|
{delete pthreads from list, in this case it is in libc_r}
|
||||||
|
SharedLibFiles.Remove(SharedLibFiles.Find('pthread').str);
|
||||||
|
LibrarySuffix:='r';
|
||||||
|
end;
|
||||||
|
End;
|
||||||
prtobj:='prt0';
|
prtobj:='prt0';
|
||||||
cprtobj:='cprt0';
|
cprtobj:='cprt0';
|
||||||
gprtobj:='gprt0';
|
gprtobj:='gprt0';
|
||||||
if glibc21 then
|
|
||||||
begin
|
|
||||||
cprtobj:='cprt21';
|
|
||||||
gprtobj:='gprt21';
|
|
||||||
end;
|
|
||||||
if cs_profile in aktmoduleswitches then
|
if cs_profile in aktmoduleswitches then
|
||||||
begin
|
begin
|
||||||
prtobj:=gprtobj;
|
prtobj:=gprtobj;
|
||||||
{
|
|
||||||
if not glibc2 then
|
|
||||||
AddSharedLibrary('gmon');
|
|
||||||
}
|
|
||||||
AddSharedLibrary('c');
|
AddSharedLibrary('c');
|
||||||
LibrarySuffix:='p';
|
LibrarySuffix:='p';
|
||||||
linklibc:=true;
|
linklibc:=true;
|
||||||
@ -506,6 +506,7 @@ begin
|
|||||||
prtobj:='/usr/lib/gcrt1.o';
|
prtobj:='/usr/lib/gcrt1.o';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ Open link.res file }
|
{ Open link.res file }
|
||||||
LinkRes:=TLinkRes.Create(outputexedir+Info.ResName);
|
LinkRes:=TLinkRes.Create(outputexedir+Info.ResName);
|
||||||
|
|
||||||
@ -759,7 +760,10 @@ initialization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.8 2004-01-21 20:53:51 marco
|
Revision 1.9 2004-02-15 16:34:18 marco
|
||||||
|
* pthread on -CURRENT related fixes.
|
||||||
|
|
||||||
|
Revision 1.8 2004/01/21 20:53:51 marco
|
||||||
* Copy and pasted some structures from Net- to OpenBSD (3.4+ ELF!)
|
* Copy and pasted some structures from Net- to OpenBSD (3.4+ ELF!)
|
||||||
|
|
||||||
Revision 1.7 2004/01/05 08:13:30 jonas
|
Revision 1.7 2004/01/05 08:13:30 jonas
|
||||||
|
Loading…
Reference in New Issue
Block a user