Date: Sat, 15 Oct 2005 17:08:18 +0300 From: Vasil Dimov <vd@datamax.bg> To: FreeBSD-gnats-submit@FreeBSD.org Cc: nobutaka@FreeBSD.org Subject: ports/87484: [patch] devel/boehm-gc does not compile on amd64 with THREADING Message-ID: <20051015140818.GA50410@qlovarnika.bg.datamax> Resent-Message-ID: <200510151410.j9FEAFLx014906@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 87484 >Category: ports >Synopsis: [patch] devel/boehm-gc does not compile on amd64 with THREADING >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Oct 15 14:10:15 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Vasil Dimov >Release: FreeBSD 6.0-RC1 amd64 >Organization: DataMax >Environment: System: FreeBSD qlovarnika.bg.datamax 6.0-RC1 FreeBSD 6.0-RC1 #0: Mon Oct 10 17:41:04 EEST 2005 root@qlovarnika.bg.datamax:/usr/obj/usr/src/sys/QLOVARNIKA amd64 >Description: devel/boehm-gc fails to compile on amd64 when option THREADING is defined. Included patch just adds the missing macros. I have not tested it in other means than: 1. it compiles ok; 2. make check does not emit errors. I indulged in adding a check target to aid with testing, fixing the innocent configure warning and changing HAS_CONFIGURE to GNU_CONFIGURE, because it is GNU configure we actually have. >How-To-Repeat: # uname -m amd64 /usr/ports/devel/boehm-gc# make clean rmconfig /usr/ports/devel/boehm-gc# make (turn on THREADING) ... cc -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"gc 6.6\"" -DPACKAGE_BUGREPORT=\"Hans.Boehm@hp.com\" -DGC_VERSION_MAJOR=6 -DGC_VERSION_MINOR=6 -DPACKAGE=\"gc\" -DVERSION=\"6.6\" -DGC_FREEBSD_THREADS=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I./include -pthread -fexceptions -pipe -g -march=athlon64 -fexceptions -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c -fPIC -DPIC -o .libs/pthread_support.lo pthread_support.c: In function `GC_pthread_sigmask': pthread_support.c:965: error: `SIGRTMIN' undeclared (first use in this function) pthread_support.c:965: error: (Each undeclared identifier is reported only once pthread_support.c:965: error: for each function it appears in.) *** Error code 1 Stop in /usr/ports/devel/boehm-gc/work/gc6.6. *** Error code 1 Stop in /usr/ports/devel/boehm-gc/work/gc6.6. *** Error code 1 Stop in /usr/ports/devel/boehm-gc. >Fix: --- boehm-gc_threads-amd64.diff begins here --- Index: Makefile =================================================================== RCS file: /home/ncvs/ports/devel/boehm-gc/Makefile,v retrieving revision 1.45 diff -u -r1.45 Makefile --- Makefile 10 Oct 2005 13:06:07 -0000 1.45 +++ Makefile 15 Oct 2005 13:55:43 -0000 @@ -7,6 +7,7 @@ PORTNAME= boehm-gc PORTVERSION= 6.6 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ DISTNAME= gc${PORTVERSION:S/.a/alpha/} @@ -17,7 +18,8 @@ USE_INC_LIBTOOL_VER= 13 USE_GNOME= lthack USE_REINPLACE= yes -HAS_CONFIGURE= yes +GNU_CONFIGURE= yes +CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} INSTALLS_SHLIB= yes CONFIGURE_ARGS= --prefix=${PREFIX} --enable-cplusplus OPTIONS= REDIRECT "Define malloc(3)-family replacements" off \ @@ -65,4 +67,7 @@ post-install: ${INSTALL_MAN} ${WRKSRC}/doc/gc.man ${PREFIX}/man/man3/gc.3 +check: build + @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check) + .include <bsd.port.post.mk> Index: files/patch-include-private-gcconfig.h =================================================================== RCS file: /home/ncvs/ports/devel/boehm-gc/files/patch-include-private-gcconfig.h,v retrieving revision 1.6 diff -u -r1.6 patch-include-private-gcconfig.h --- files/patch-include-private-gcconfig.h 29 Jun 2005 16:29:45 -0000 1.6 +++ files/patch-include-private-gcconfig.h 15 Oct 2005 13:55:43 -0000 @@ -1,5 +1,5 @@ ---- include/private/gcconfig.h.orig Sat May 21 05:48:29 2005 -+++ include/private/gcconfig.h Thu Jun 30 01:10:10 2005 +--- include/private/gcconfig.h.rorig Sat Oct 15 16:40:25 2005 ++++ include/private/gcconfig.h Sat Oct 15 16:42:43 2005 @@ -62,7 +62,7 @@ /* Determine the machine type: */ # if defined(__arm__) || defined(__thumb__) @@ -9,7 +9,7 @@ # define NOSYS # define mach_type_known # endif -@@ -330,10 +330,22 @@ +@@ -334,10 +334,22 @@ # define X86_64 # define mach_type_known # endif @@ -33,7 +33,7 @@ # if defined(bsdi) && (defined(i386) || defined(__i386__)) # define I386 # define BSDI -@@ -822,6 +834,16 @@ +@@ -845,6 +857,16 @@ # define DATASTART GC_data_start # define DYNAMIC_LOADING # endif @@ -50,7 +50,7 @@ # ifdef NOSYS # define ALIGNMENT 4 # define OS_TYPE "NOSYS" -@@ -1782,6 +1804,17 @@ +@@ -1807,6 +1829,17 @@ # endif # define USE_GENERIC_PUSH_REGS # endif @@ -67,8 +67,8 @@ + # ifdef LINUX # define OS_TYPE "LINUX" - # define HEURISTIC1 -@@ -1932,6 +1965,15 @@ + # define LINUX_STACKBOTTOM +@@ -1957,6 +1990,17 @@ # ifdef __ELF__ # define DYNAMIC_LOADING # endif @@ -78,6 +78,8 @@ +# endif +# ifdef FREEBSD +# define OS_TYPE "FREEBSD" ++# define SIG_SUSPEND SIGUSR1 ++# define SIG_THR_RESTART SIGUSR2 +# ifdef __ELF__ +# define DYNAMIC_LOADING +# endif --- boehm-gc_threads-amd64.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051015140818.GA50410>