[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: shared libraries for NetBSD/powerpc



というわけで新しいのを同じところにおきました。
すでに以前のものがあたっている場合は

* lib/libc/Makefile をもとに戻す
* lib/csu/powerpc/Makefile をもとに戻して以下をあてる

で等価なものになるはずです。(ほかにも多少変更がありますが本質的には
無関係です)

# crt0.o なども PIC にしちゃっていいとはおもうのだけど、なんとなく。

昨日はうごいた oclock が core dump してしまう…。どこを変えたかな…。
# ということで結構あぶないかも。:-)


diff -c /a/src/lib/csu/powerpc/Makefile ./Makefile
*** /a/src/lib/csu/powerpc/Makefile	Wed May  6 20:09:13 1998
--- lib/csu/powerpc/Makefile	Sat Nov 14 23:47:45 1998
***************
*** 1,10 ****
  #	$NetBSD: Makefile,v 1.7 1998/05/06 09:30:26 mycroft Exp $
  
! CPPFLAGS+=	-DLIBC_SCCS -DPIC # -DDYNAMIC
  CPPFLAGS+=	-I${.CURDIR}/../../../libexec/ld.elf_so
- #COPT+=		-fPIC
  
! OBJS=		crt0.o gcrt0.o crtbegin.o crtend.o
  
  CLEANFILES+=	core a.out
  
--- 1,9 ----
  #	$NetBSD: Makefile,v 1.7 1998/05/06 09:30:26 mycroft Exp $
  
! CPPFLAGS+=	-DLIBC_SCCS -DPIC -DDYNAMIC -DELFSIZE=32
  CPPFLAGS+=	-I${.CURDIR}/../../../libexec/ld.elf_so
  
! OBJS=		crt0.o gcrt0.o crtbegin.o crtend.o crtbeginS.o crtendS.o
  
  CLEANFILES+=	core a.out
  
***************
*** 28,44 ****
  	@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
  	@rm -f ${.TARGET}.o
  
  crtend.o: crtend.c
  	@echo "${COMPILE.c} ${.ALLSRC} -o ${.TARGET}"
  	@${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o
  	@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
  	@rm -f ${.TARGET}.o
  
  install:
  	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${OBJS} \
  	    ${DESTDIR}/usr/lib
- 	rm -f ${DESTDIR}/usr/lib/crtbeginS.o ${DESTDIR}/usr/lib/crtendS.o
- 	ln ${DESTDIR}/usr/lib/crtbegin.o ${DESTDIR}/usr/lib/crtbeginS.o
- 	ln ${DESTDIR}/usr/lib/crtend.o ${DESTDIR}/usr/lib/crtendS.o
  
  .include <bsd.prog.mk>
--- 27,52 ----
  	@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
  	@rm -f ${.TARGET}.o
  
+ crtbeginS.o: crtbegin.c
+ 	@echo "${COMPILE.c} ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}"
+ 	@${COMPILE.c} ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
+ 	@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
+ 	@rm -f ${.TARGET}.o
+ 
  crtend.o: crtend.c
  	@echo "${COMPILE.c} ${.ALLSRC} -o ${.TARGET}"
  	@${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o
  	@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
  	@rm -f ${.TARGET}.o
  
+ crtendS.o: crtend.c
+ 	@echo "${COMPILE.c} ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}"
+ 	@${COMPILE.c} ${CPICFLAGS} ${.ALLSRC} -o ${.TARGET}.o
+ 	@${LD} -x -r -o ${.TARGET} ${.TARGET}.o
+ 	@rm -f ${.TARGET}.o
+ 
  install:
  	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${OBJS} \
  	    ${DESTDIR}/usr/lib
  
  .include <bsd.prog.mk>