diff options
| author | KATO Takenori <kato@FreeBSD.org> | 1998-10-05 08:57:17 +0000 |
|---|---|---|
| committer | KATO Takenori <kato@FreeBSD.org> | 1998-10-05 08:57:17 +0000 |
| commit | 2ed839e4cf50b164db616a9bba210e8b6005ef07 (patch) | |
| tree | f8b2d4ef43c4857066c5362d8f455ed2868bab59 | |
| parent | 400b2cc592a6d3d6879d8fd5bd88b68f74d2af58 (diff) | |
Notes
| -rw-r--r-- | sys/conf/Makefile.pc98 | 19 | ||||
| -rw-r--r-- | sys/pc98/conf/Makefile.pc98 | 19 |
2 files changed, 32 insertions, 6 deletions
diff --git a/sys/conf/Makefile.pc98 b/sys/conf/Makefile.pc98 index a5245c7f5f67..64a91b0cca6c 100644 --- a/sys/conf/Makefile.pc98 +++ b/sys/conf/Makefile.pc98 @@ -3,7 +3,7 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.pc98,v 1.39 1998/09/16 08:04:40 kato Exp $ +# $Id: Makefile.pc98,v 1.40 1998/09/22 16:11:08 kato Exp $ # # Makefile for FreeBSD # @@ -104,11 +104,14 @@ SYSTEM_LD_TAIL= @echo rearranging symbols; \ size -aout ${.TARGET} ; chmod 755 ${.TARGET} .endif .if ${KERNFORMAT} == elf +# kld compatable export of symbols. SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ - setdef1.o -SYSTEM_LD= @${LD} -elf -Bstatic -Ttext ${LOAD_ADDRESS} -e btext -defsym _DYNAMIC=0 \ + setdef1.o hack.so +SYSTEM_LD= @${LD} -elf -Bdynamic -T $S/i386/conf/kernel.script \ + -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @size -elf ${.TARGET} ; chmod 755 ${.TARGET} +SYSTEM_DEP+= $S/i386/conf/kernel.script .endif %BEFORE_DEPEND @@ -147,6 +150,16 @@ symbols.sort: ${I386}/i386/symbols.raw locore.o: ${I386}/i386/locore.s assym.s ${NORMAL_S} +.if ${KERNFORMAT} == elf +# This is a hack. BFD "optimizes" away dynamic mode if there are no +# dynamic references. We could probably do a '-Bforcedynamic' mode like +# in the a.out ld. For now, this works. +hack.so: Makefile + touch hack.c + ${CC} -elf -shared -nostdlib hack.c -o hack.so + rm -f hack.c +.endif + setdef0.o: ${I386}/i386/setdef0.c setdefs.h ${NORMAL_C} diff --git a/sys/pc98/conf/Makefile.pc98 b/sys/pc98/conf/Makefile.pc98 index a5245c7f5f67..64a91b0cca6c 100644 --- a/sys/pc98/conf/Makefile.pc98 +++ b/sys/pc98/conf/Makefile.pc98 @@ -3,7 +3,7 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $Id: Makefile.pc98,v 1.39 1998/09/16 08:04:40 kato Exp $ +# $Id: Makefile.pc98,v 1.40 1998/09/22 16:11:08 kato Exp $ # # Makefile for FreeBSD # @@ -104,11 +104,14 @@ SYSTEM_LD_TAIL= @echo rearranging symbols; \ size -aout ${.TARGET} ; chmod 755 ${.TARGET} .endif .if ${KERNFORMAT} == elf +# kld compatable export of symbols. SYSTEM_OBJS= locore.o setdef0.o vnode_if.o ${OBJS} ioconf.o param.o config.o \ - setdef1.o -SYSTEM_LD= @${LD} -elf -Bstatic -Ttext ${LOAD_ADDRESS} -e btext -defsym _DYNAMIC=0 \ + setdef1.o hack.so +SYSTEM_LD= @${LD} -elf -Bdynamic -T $S/i386/conf/kernel.script \ + -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @size -elf ${.TARGET} ; chmod 755 ${.TARGET} +SYSTEM_DEP+= $S/i386/conf/kernel.script .endif %BEFORE_DEPEND @@ -147,6 +150,16 @@ symbols.sort: ${I386}/i386/symbols.raw locore.o: ${I386}/i386/locore.s assym.s ${NORMAL_S} +.if ${KERNFORMAT} == elf +# This is a hack. BFD "optimizes" away dynamic mode if there are no +# dynamic references. We could probably do a '-Bforcedynamic' mode like +# in the a.out ld. For now, this works. +hack.so: Makefile + touch hack.c + ${CC} -elf -shared -nostdlib hack.c -o hack.so + rm -f hack.c +.endif + setdef0.o: ${I386}/i386/setdef0.c setdefs.h ${NORMAL_C} |
