Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Dec 2000 10:00:03 -0800 (PST)
From:      Naohiko Tsuji <yakisoba@osaka.interq.or.jp>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: gnu/23598: Merge libgcc_r with libgcc
Message-ID:  <200012211800.eBLI03N87052@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR gnu/23598; it has been noted by GNATS.

From: Naohiko Tsuji <yakisoba@osaka.interq.or.jp>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: gnu/23598: Merge libgcc_r with libgcc
Date: Fri, 22 Dec 2000 02:50:33 +0900

  So sorry, building in the GCC original make tree is fine,
 but "make buildworld" in the FreeBSD make tree is not.
  I have to improve "gnu/lib/libgcc/Makefile". But I rewrite it
 because of some reasons.
 
   * Use some header files in the "gnu/usr.bin/cc/cc_tools".
   * "make depend" work fine.
   * XCC -> CC for libgcc2, CC -> OLDCC for libgcc1 if need it.
   * Use <bsd.lib.mk> rules as we can.
   * -p, CXX, XCXX is confused.
 
 --- BEGIN gnu/lib/libgcc/Makefile ---
 # $FreeBSD$
 
 GCCDIR=	${.CURDIR}/../../../contrib/gcc
 XCCDIR=	../../usr.bin/cc
 
 .PATH: ${GCCDIR}/cp ${GCCDIR}
 
 LIB=	gcc
 
 # Install libgcc_pic.a, since ld.so uses it.
 INSTALL_PIC_ARCHIVE=  yes
 
 #
 # XXX This is a hack, but it seems to work.  libgcc1.a is supposed to be
 # compiled by the native compiler, and libgcc2.a is meant to be compiled
 # by *this* version of gcc.
 #
 # Normally, this does not make any difference, since we only have gcc, but
 # when bootstrapping from gcc-2.6.3, we have to use the freshly built 2.7.2
 # compiler for some of the libgcc2.c __attribute__ stuff.
 #
 OLDCC?=	${CC}
 CCLIBFLAGS?= -O
 
 # Members of libgcc1.a.
 LIB1FUNCS= _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
 	   _lshrsi3 _ashrsi3 _ashlsi3 \
 	   _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 \
 	   _fixdfsi _fixsfsi _floatsidf _floatsisf _truncdfsf2 _extendsfdf2 \
 	   _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 \
 	   _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
 	   _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 
 # Library members defined in libgcc2.c.
 LIB2FUNCS= _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
 	   _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 \
 	   _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \
 	   _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \
 	   _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \
 	   _fixtfdi _fixunstfdi _floatditf \
 	   __gcc_bcmp _varargs __dummy _eprintf \
 	   _bb _shtab _clear_cache _trampoline __main _exit _ctors \
 	   _eh _pure
 
 # Library members defined in new1.cc.
 NEW1FUNCS= _op_new _op_newnt 
 
 # Library members defined in new2.cc.
 NEW2FUNCS= _op_vnew _op_vnewnt _op_delete _op_delnt _op_vdel _op_vdelnt 
 
 SRCS=	${LIB1FUNCS:S/$/.c/}
 SRCS+=	${LIB2FUNCS:S/$/.c/}
 SRCS+=	frame.c
 .if !defined(NO_CXX)
 SRCS+=	${NEW1FUNCS:S/$/.cc/}
 SRCS+=	${NEW2FUNCS:S/$/.cc/}
 SRCS+=	tinfo.cc tinfo2.cc new.cc exception.cc
 .endif
 
 INCLUDES=
 .if exists(${.OBJDIR}/${XCCDIR}/cc_tools)
 INCLUDES+=	-I${.OBJDIR}/${XCCDIR}/cc_tools
 .endif
 INCLUDES+=	-I${.CURDIR}/${XCCDIR}/cc_tools
 INCLUDES+=	-I${GCCDIR}/config -I${GCCDIR}
 
 CFLAGS+=	-fexceptions
 CFLAGS+=	-DIN_GCC
 CFLAGS+=	-DIN_LIBGCC2
 CFLAGS+=	-DHAVE_GTHR_DEFAULT
 .if !defined(NO_CXX)
 CFLAGS+=	-nostdinc++
 CFLAGS+=	-I${GCCDIR}/cp/inc
 .endif
 CFLAGS+=	${INCLUDES}
 
 ${LIB1FUNCS:S/$/.c/}: ${GCCDIR}/libgcc1.c
 	@rm -f ${.TARGET}
 	@echo "#define L${.PREFIX}" > ${.TARGET}
 	@cat ${GCCDIR}/libgcc1.c >> ${.TARGET}
 
 CLEANFILES +=	${LIB1FUNCS:S/$/.c/}
 
 ${LIB1FUNCS:S/$/.o/}:
 	${OLDCC} ${CCLIBFLAGS} ${INCLUDES} -c ${.IMPSRC} -o ${.TARGET}
 	@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
 	@mv ${.TARGET}.tmp ${.TARGET}
 
 ${LIB1FUNCS:S/$/.po/}:
 	${OLDCC} -pg ${CCLIBFLAGS} ${INCLUDES} -c ${.IMPSRC} -o ${.TARGET}
 	@${LD} -o ${.TARGET}.tmp -X -r ${.TARGET}
 	@mv ${.TARGET}.tmp ${.TARGET}
 
 ${LIB1FUNCS:S/$/.So/}:
 	${OLDCC} ${PICFLAG} -DPIC ${CCLIBFLAGS} ${INCLUDES} -c ${.IMPSRC} -o ${.TARGET}
 	@${LD} -o ${.TARGET}.tmp -x -r ${.TARGET}
 	@mv ${.TARGET}.tmp ${.TARGET}
 
 ${LIB2FUNCS:S/$/.c/}: ${GCCDIR}/libgcc2.c
 	@rm -f ${.TARGET}
 	@echo "#define L${.PREFIX}" > ${.TARGET}
 	@cat ${GCCDIR}/libgcc2.c >> ${.TARGET}
 
 CLEANFILES +=	${LIB2FUNCS:S/$/.c/}
 
 ${NEW1FUNCS:S/$/.cc/}: ${GCCDIR}/cp/new1.cc
 	@rm -f ${.TARGET}
 	@echo "#define L${.PREFIX}" > ${.TARGET}
 	@cat ${GCCDIR}/cp/new1.cc >> ${.TARGET}
 
 CLEANFILES +=	${NEW1FUNCS:S/$/.cc/}
 
 ${NEW2FUNCS:S/$/.cc/}: ${GCCDIR}/cp/new2.cc
 	@rm -f ${.TARGET}
 	@echo "#define L${.PREFIX}" > ${.TARGET}
 	@cat ${GCCDIR}/cp/new2.cc >> ${.TARGET}
 
 CLEANFILES +=	${NEW2FUNCS:S/$/.cc/}
 
 .include <bsd.lib.mk>
 --- END gnu/lib/libgcc/Makefile ---
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012211800.eBLI03N87052>