The __wrap_* symbols need to become local symbols. If you have module
x which is dependent y but they both have __wrap_foo, if the __wrap_foo is not localized, you will get linker truncation messages.
This commit is contained in:
parent
13bf20997a
commit
275eeea6c9
|
@ -1,4 +1,4 @@
|
||||||
# $NetBSD: bsd.kmod.mk,v 1.59 2003/03/27 17:05:14 christos Exp $
|
# $NetBSD: bsd.kmod.mk,v 1.60 2003/04/23 18:34:20 matt Exp $
|
||||||
|
|
||||||
.include <bsd.init.mk>
|
.include <bsd.init.mk>
|
||||||
|
|
||||||
|
@ -54,6 +54,12 @@ ${PROG}: ${KMOD}_tmp.o ${KMOD}_tramp.o
|
||||||
`${OBJDUMP} --reloc ${KMOD}_tmp.o | \
|
`${OBJDUMP} --reloc ${KMOD}_tmp.o | \
|
||||||
awk -f $S/lkm/arch/${MACHINE_ARCH}/lkmwrap.awk` \
|
awk -f $S/lkm/arch/${MACHINE_ARCH}/lkmwrap.awk` \
|
||||||
-o tmp.o ${KMOD}_tmp.o ${KMOD}_tramp.o
|
-o tmp.o ${KMOD}_tmp.o ${KMOD}_tramp.o
|
||||||
|
.if exists($S/lkm/arch/${MACHINE_ARCH}/lkmhide.awk)
|
||||||
|
${OBJCOPY} \
|
||||||
|
`${NM} tmp.o | awk -f $S/lkm/arch/${MACHINE_ARCH}/lkmhide.awk` \
|
||||||
|
tmp.o tmp1.o
|
||||||
|
mv tmp1.o tmp.o
|
||||||
|
.endif
|
||||||
mv tmp.o ${.TARGET}
|
mv tmp.o ${.TARGET}
|
||||||
.else
|
.else
|
||||||
${PROG}: ${OBJS} ${DPADD}
|
${PROG}: ${OBJS} ${DPADD}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
# $NetBSD: lkmhide.awk,v 1.1 2003/04/23 18:34:21 matt Exp $
|
||||||
|
|
||||||
|
substr($NF, 1, 7) == "__wrap_" {
|
||||||
|
print " --localize-symbol "$NF;
|
||||||
|
}
|
Loading…
Reference in New Issue