From owner-freebsd-bugs Mon May 27 7:20:23 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 01E3C37B400 for ; Mon, 27 May 2002 07:20:04 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g4REK3g43045; Mon, 27 May 2002 07:20:03 -0700 (PDT) (envelope-from gnats) Date: Mon, 27 May 2002 07:20:03 -0700 (PDT) Message-Id: <200205271420.g4REK3g43045@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Ruslan Ermilov Subject: Re: gnu/38594: Fortan program don't link post gcc-3.1 Reply-To: Ruslan Ermilov Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR gnu/38594; it has been noted by GNATS. From: Ruslan Ermilov To: "Steven G. Kargl" Cc: bug-followup@FreeBSD.org, "David O'Brien" Subject: Re: gnu/38594: Fortan program don't link post gcc-3.1 Date: Mon, 27 May 2002 17:19:24 +0300 On Sun, May 26, 2002 at 07:41:05PM -0700, Steven G. Kargl wrote: > > Fortran programs don't link after the gcc-3.1 due to a missing > libfrtbegin.a. libF77/main.o was split out into libfrtbegin in > gcc-3.1 and a dependence was built into g77 (via g77spec.c) to > unconditionally link libfrtbegin into all Fortran programs. > > The following patch creates libfrtbegin. The file > libg2c/MAIN.c should be repo-copied to gnu/libfrtbegin. > ... and then "cvs remove"d from gnu/lib/libg2c. > diff -urNb gnu/lib.old/Makefile gnu/lib/Makefile > --- gnu/lib.old/Makefile Wed May 15 09:29:45 2002 > +++ gnu/lib/Makefile Sun May 26 14:44:23 2002 > @@ -19,7 +19,7 @@ > .endif > > .if !defined(NO_FORTRAN) > -SUBDIR+= libg2c > +SUBDIR+= libfrtbegin libg2c > .endif > > .include > diff -urNb gnu/lib.old/libfrtbegin/MAIN.c gnu/lib/libfrtbegin/MAIN.c > --- gnu/lib.old/libfrtbegin/MAIN.c Wed Dec 31 16:00:00 1969 > +++ gnu/lib/libfrtbegin/MAIN.c Sun May 26 14:44:40 2002 > @@ -0,0 +1,4 @@ > +/* $FreeBSD: src/gnu/lib/libg2c/MAIN.c,v 1.2 2000/10/31 11:36:33 obrien Exp $ */ > + > +int > +MAIN__(){ return 0; } > diff -urNb gnu/lib.old/libfrtbegin/Makefile gnu/lib/libfrtbegin/Makefile > --- gnu/lib.old/libfrtbegin/Makefile Wed Dec 31 16:00:00 1969 > +++ gnu/lib/libfrtbegin/Makefile Sun May 26 14:47:02 2002 > @@ -0,0 +1,16 @@ > +# $FreeBSD: src/gnu/lib/libg2c/Makefile,v 1.9 2002/05/12 16:00:46 ru Exp $ > + > +SRCDIR= ${.CURDIR}/../../../contrib/libf2c > + > +.PATH: ${SRCDIR} ${SRCDIR}/libF77 > + ${SRCDIR} is not needed in the .PATH. > +LIB= frtbegin > +SHLIB_MAJOR= 1 > +SHLIB_MINOR= 0 > + There should only be the static frtbegin library, there's no point in shared and profiled versions; hence, these SHLIB_*'s lines should be replaced by NOPIC=YES and NOPROFILE=YES. > +SRCS= main.c MAIN.c > + > +CFLAGS+= -I${SRCDIR} -I${SRCDIR}/libF77 > +CFLAGS+= -I${.CURDIR} > + This compiles OK without any CFLAGS. > +.include > diff -urNb gnu/lib.old/libg2c/Makefile gnu/lib/libg2c/Makefile > --- gnu/lib.old/libg2c/Makefile Sun May 12 09:00:46 2002 > +++ gnu/lib/libg2c/Makefile Sun May 26 14:49:59 2002 > @@ -10,7 +10,7 @@ > > # Traditional FORTRAN Library members defined in libF77 > > -F77MISC= F77_aloc.c main.c s_rnge.c abort_.c getarg_.c \ > +F77MISC= F77_aloc.c s_rnge.c abort_.c getarg_.c \ > iargc_.c getenv_.c signal_.c s_stop.c s_paus.c system_.c \ > cabs.c derf_.c derfc_.c erf_.c erfc_.c sig_die.c exit_.c \ > setarg.c setsig.c > @@ -79,7 +79,7 @@ > secnds.o second.o signal.o sleep.o srand.o stat.o symlnk.o \ > system.o time.o ttynam.o umask.o unlink.o vxtidt.o vxttim.o > > -LIBF77SRCS= ${F77SRCS} ${I77SRCS} ${U77SRCS} ${E77SRCS} MAIN.c > +LIBF77SRCS= ${F77SRCS} ${I77SRCS} ${U77SRCS} ${E77SRCS} > > SRCS= ${LIBF77SRCS} > OBJS= ${E77OBJS} > Other than that, looks good. Cheers, -- Ruslan Ermilov Sysadmin and DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message