ports/73914: /usr/ports/lang/scm marked broken unjustifiedly due to Segmentation Fault
dai inukai
inukai.d at jeans.ocn.ne.jp
Sat Nov 13 22:30:21 UTC 2004
>Number: 73914
>Category: ports
>Synopsis: /usr/ports/lang/scm marked broken unjustifiedly due to Segmentation Fault
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Nov 13 22:30:20 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: dai inukai
>Release: FreeBSD 6.0-CURRENT i386, FreeBSD 5.3-RELEASE i386
>Organization:
>Environment:
FreeBSD daip 6.0-CURRENT FreeBSD 6.0-CURRENT #0: Sat Nov 13 17:33:44 JST 2004 daip at daip:/usr/obj/usr/src/sys/DAIKERNEL i386, FreeBSD daip 5.3-RELEASE FreeBSD 5.3-RELEASE #0: Tue Nov 9 15:50:00 JST 2004 daip at daip:/usr/obj/usr/src/sys/DAIKERNEL i386, 1 CPU Athlon XP 1800+ on M/B K7T266 PRO2
>Description:
When compiled with FreeBSD defaults (gcc-3.4.2), scmlit and scm crash
with "Segmentation Fault" in eval.c at the line 2090 with core dump:
eval.c: 2090 x = arg1;
If I trace the program with gdb and dumped core files, the variable
arg1 in the function "static SCM ceval_1(x)" disappears except when
compiled with the optimization option "-O0 (gcc default)."
This seems to be a gcc-3.4.2 bug because the program scompile and
work expectedly when compiled with gcc-3.4.3 from the port.
>How-To-Repeat:
/usr/ports/lang/scm% make
>Fix:
Use gcc-3.4.3 or later from the port or compile with
"-DGCC_SPARC_BUG" if with gcc-3.4.2.
--- Makefile.diff begins here ---
*** Makefile~ Sun Sep 26 12:05:29 2004
--- Makefile Sun Nov 14 06:01:28 2004
***************
*** 20,30 ****
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_ZIP= yes
USE_REINPLACE= yes
USE_GMAKE= yes
! MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS}"
ALL_TARGET= scmlit
MAN1= scm.1
INFO= scm
PLIST_SUB= VERSION=${PORTVERSION}
--- 20,30 ----
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_ZIP= yes
USE_REINPLACE= yes
USE_GMAKE= yes
! MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS} -DGCC_SPARC_BUG"
ALL_TARGET= scmlit
MAN1= scm.1
INFO= scm
PLIST_SUB= VERSION=${PORTVERSION}
***************
*** 35,51 ****
SCM_MODULES= crs.so edline.so gsubr.so ioext.so posix.so ramap.so \
record.so rgx.so sc2.so socket.so unix.so
.include <bsd.port.pre.mk>
! .if ${OSVERSION} >= 502126
! BROKEN= "Segfault during build"
! .endif
! .if ${ARCH} != "i386"
! BROKEN= "Does not compile on !i386"
! .endif
post-extract:
@${TAR} -C ${WRKDIR} -zxf ${DISTDIR}/slib-psd1-3.tar.gz
@${CP} ${FILESDIR}/require.scm.in ${WRKDIR}/require.scm
--- 35,51 ----
SCM_MODULES= crs.so edline.so gsubr.so ioext.so posix.so ramap.so \
record.so rgx.so sc2.so socket.so unix.so
.include <bsd.port.pre.mk>
! #.if ${OSVERSION} >= 502126
! #BROKEN= "Segfault during build"
! #.endif
! #.if ${ARCH} != "i386"
! #BROKEN= "Does not compile on !i386"
! #.endif
post-extract:
@${TAR} -C ${WRKDIR} -zxf ${DISTDIR}/slib-psd1-3.tar.gz
@${CP} ${FILESDIR}/require.scm.in ${WRKDIR}/require.scm
--- Makefile.diff ends here ---
--- patch-build.scm.diff begins here ---
*** patch-build.scm~ Sun Nov 14 06:03:35 2004
--- patch-build.scm Sun Nov 14 06:07:08 2004
***************
*** 3,22 ****
@@ -1438,7 +1438,7 @@
(lambda (files parms)
(and (batch:try-chopped-command
parms
- "cc" "-O3 -pipe " "-c"
! + "%%CC%%" "%%CFLAGS%%" "-c"
(c-includes parms)
(c-flags parms)
files)
@@ -1459,7 +1459,7 @@
(lambda (files parms)
(and (batch:try-chopped-command
parms
- "cc" "-O3 -pipe "
! + "%%CC%%" "%%CFLAGS%% -DGCC_SPARC_BUG "
"-fPIC" "-c" (c-includes parms)
(c-flags parms)
files)
@@ -1468,10 +1468,10 @@
(lambda (fname)
--- 3,22 ----
@@ -1438,7 +1438,7 @@
(lambda (files parms)
(and (batch:try-chopped-command
parms
- "cc" "-O3 -pipe " "-c"
! + "%%CC%%" "%%CFLAGS%% -DGCC_SPARC_BUG " "-c"
(c-includes parms)
(c-flags parms)
files)
@@ -1459,7 +1459,7 @@
(lambda (files parms)
(and (batch:try-chopped-command
parms
- "cc" "-O3 -pipe "
! + "%%CC%%" "%%CFLAGS%%"
"-fPIC" "-c" (c-includes parms)
(c-flags parms)
files)
@@ -1468,10 +1468,10 @@
(lambda (fname)
--- patch-build.scm.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list