Fix -pthread issue on lang/gcc3[34]

Norikatsu Shigemura nork at FreeBSD.org
Sat Jan 8 08:57:51 PST 2005


Hi Gerald!

	I have a patch to fix -pthread issue on lang/gcc3[34].

	BEFORE: on 5.2.1 or after
	$ gcc3? -pthread FILE of 'int main(void) { return 0; }'.
	$ ldd a.out
	a.out:
		libc_r.so.1 => /usr/lib/libc_r.so.5 (0x68076000)
		libc.so.6 => /lib/libc.so.6 (0x6809d000)

	AFTER: on 5.2.1 or after
	$ gcc3? -pthread FILE of 'int main(void) { return 0; }'.
	$ ldd a.out
	a.out:
		libpthread.so.1 => /usr/lib/libpthread.so.1 (0x68076000)
		libc.so.6 => /lib/libc.so.6 (0x6809d000)

# Inspired by lang/gcc32, lang/gcc-ooo.

	May I commit this OK?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Index: gcc33/Makefile
===================================================================
RCS file: /home/ncvs/ports/lang/gcc33/Makefile,v
retrieving revision 1.189
diff -u -r1.189 Makefile
--- gcc33/Makefile	17 Dec 2004 19:08:19 -0000	1.189
+++ gcc33/Makefile	8 Jan 2005 16:45:32 -0000
@@ -8,7 +8,7 @@
 
 PORTNAME=	gcc
 PORTVERSION=	3.3.6
-PORTREVISION=	20041215
+PORTREVISION=	20041215.1
 CATEGORIES=	lang java
 VERSIONSTRING=	3.3-${PORTREVISION}
 MASTER_SITES=	${MASTER_SITE_GCC}
Index: gcc33/files/patch-gcc,config,freebsd-spec.h
===================================================================
RCS file: gcc33/files/patch-gcc,config,freebsd-spec.h
diff -N gcc33/files/patch-gcc,config,freebsd-spec.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gcc33/files/patch-gcc,config,freebsd-spec.h	8 Jan 2005 16:40:51 -0000
@@ -0,0 +1,23 @@
+--- gcc/config/freebsd-spec.h.orig	Wed Mar 12 11:38:01 2003
++++ gcc/config/freebsd-spec.h	Sun Jan  9 01:39:09 2005
+@@ -131,11 +131,20 @@
+   }"
+ #else
+ #if FBSD_MAJOR >= 5
++#include <sys/param.h>
++#if __FreeBSD_version < 502102 /* upto FreeBSD 5.2.1 */
+ #define FBSD_LIB_SPEC "							\
+   %{!shared:								\
+     %{!pg: %{pthread:-lc_r} -lc}					\
+     %{pg:  %{pthread:-lc_r_p} -lc_p}					\
+   }"
++#else
++#define FBSD_LIB_SPEC "							\
++  %{!shared:								\
++    %{!pg: %{pthread:-lpthread} -lc}					\
++    %{pg:  %{pthread:-lpthread_p} -lc_p}				\
++  }"
++#endif /* deal with FreeBSD 5.0 - 5.2.1 */
+ #else
+ #define FBSD_LIB_SPEC "							\
+   %{!shared:								\
Index: gcc34/Makefile
===================================================================
RCS file: /home/ncvs/ports/lang/gcc34/Makefile,v
retrieving revision 1.191
diff -u -r1.191 Makefile
--- gcc34/Makefile	25 Dec 2004 13:41:58 -0000	1.191
+++ gcc34/Makefile	8 Jan 2005 16:45:43 -0000
@@ -8,7 +8,7 @@
 
 PORTNAME=	gcc
 PORTVERSION=	3.4.4
-PORTREVISION=	20041224
+PORTREVISION=	20041224.1
 CATEGORIES=	lang java
 VERSIONSTRING=	3.4-${PORTREVISION}
 MASTER_SITES=	${MASTER_SITE_GCC} \
Index: gcc34/files/patch-gcc,config,freebsd-spec.h
===================================================================
RCS file: gcc34/files/patch-gcc,config,freebsd-spec.h
diff -N gcc34/files/patch-gcc,config,freebsd-spec.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gcc34/files/patch-gcc,config,freebsd-spec.h	8 Jan 2005 16:44:08 -0000
@@ -0,0 +1,22 @@
+--- gcc/config/freebsd-spec.h.orig	Wed Dec 22 03:00:24 2004
++++ gcc/config/freebsd-spec.h	Sat Jan  8 02:00:23 2005
+@@ -130,11 +130,19 @@
+   }"
+ #else
+ #if FBSD_MAJOR >= 5
++#if __FreeBSD_version < 502102 /* upto FreeBSD 5.2.1 */
++#define FBSD_LIB_SPEC "							\
++  %{!shared:								\
++    %{!pg: %{pthread:-lc_r} -lc}					\
++    %{pg:  %{pthread:-lc_r_p} -lc_p}				\
++  }"
++#else
+ #define FBSD_LIB_SPEC "							\
+   %{!shared:								\
+     %{!pg: %{pthread:-lpthread} -lc}					\
+     %{pg:  %{pthread:-lpthread_p} -lc_p}				\
+   }"
++#endif /* deal with FreeBSD 5.0 - 5.2.1 */
+ #else
+ #define FBSD_LIB_SPEC "							\
+   %{!shared:								\


More information about the freebsd-ports mailing list