cvs commit: src/sys/i386/i386 atomic.c autoconf.c bios.c
busdma_machdep.c critical.c db_disasm.c db_interface.c db_trace.c
dump_machdep.c elan-mmcr.c elf_machdep.c genassym.c i386-gdbstub.c
i686_mem.c identcpu.c in_cksum.c initcpu.c k6_mem.c legacy.c ...
Alexey Neyman
alex.neyman at auriga.ru
Mon Jun 2 01:21:49 PDT 2003
Hi, there!
On Monday 02 June 2003 10:43, David E. O'Brien wrote:
DE> Modified files:
DE> sys/i386/i386 atomic.c autoconf.c bios.c
DE> busdma_machdep.c critical.c db_disasm.c
DE> db_interface.c db_trace.c dump_machdep.c
DE> elan-mmcr.c elf_machdep.c genassym.c
DE> i386-gdbstub.c i686_mem.c identcpu.c
DE> in_cksum.c initcpu.c k6_mem.c legacy.c
DE> machdep.c math_emulate.c mem.c mp_clock.c
DE> mp_machdep.c mpapic.c nexus.c perfmon.c
DE> pmap.c sys_machdep.c trap.c tsc.c vm86.c
DE> vm_machdep.c
DE> Log:
DE> Use __FBSDID().
BTW, I have a patch that strips the version information (more precisely,
.comment section, that contains $FreeBSD$ strings and a handful of
compiler versions "GCC: (GNU) 3.2.2 [FreeBSD] 20030205 (release)") into
a separate file and installs it under a separate name (${KMOD}.version
or kernel.version).
Even now, .comment section in GENERIC is somewhat about 30K (this gives
about 2.5K in the compressed kernel), but it will obviously grow as
more __FBSDID()s are added.
PS. The patch is against ~1 week old sources, however, it should apply
ok.
Regards,
Alexey.
--
,----------------------------------------,
| A quoi ca sert d'etre sur la terre | Alexey V. Neyman
| Si c'est pour faire nos vies a genoux! | mailto:alex.neyman at auriga.ru
`------------------( Les Rois du Monde )-'
-------------- next part --------------
diff -ur sys/conf/kern.post.mk sys/conf/kern.post.mk
--- sys/conf/kern.post.mk Mon May 26 08:26:42 2003
+++ sys/conf/kern.post.mk Mon May 26 19:50:41 2003
@@ -187,6 +187,10 @@
.else
${INSTALL} -p -m 555 -o root -g wheel ${KERNEL_KO} ${DESTDIR}${KODIR}
.endif
+.if !defined(NO_IDENTFILES)
+ ${INSTALL} -p -m 444 -o root -g wheel ${KERNEL_KO}.version \
+ ${DESTDIR}${KODIR}
+.endif
kernel-reinstall:
@-chflags -R noschg ${DESTDIR}${KODIR}
@@ -194,6 +198,10 @@
${INSTALL} -p -m 555 -o root -g wheel ${FULLKERNEL} ${DESTDIR}${KODIR}
.else
${INSTALL} -p -m 555 -o root -g wheel ${KERNEL_KO} ${DESTDIR}${KODIR}
+.endif
+.if !defined(NO_IDENTFILES)
+ ${INSTALL} -p -m 444 -o root -g wheel ${KERNEL_KO}.version \
+ ${DESTDIR}${KODIR}
.endif
config.o:
diff -ur sys/conf/kern.pre.mk sys/conf/kern.pre.mk
--- sys/conf/kern.pre.mk Mon May 26 07:32:48 2003
+++ sys/conf/kern.pre.mk Mon May 26 19:57:28 2003
@@ -14,9 +14,12 @@
M= ${MACHINE_ARCH}
AWK?= awk
+IDENT?= ident
NM?= nm
OBJCOPY?= objcopy
+SED?= sed
SIZE?= size
+SORT?= sort
COPTFLAGS?=-O -pipe
.if !defined(NO_CPU_COPTFLAGS)
@@ -71,7 +74,11 @@
SYSTEM_LD= @${LD} ${FMT} -Bdynamic -T $S/conf/ldscript.$M \
-warn-common -export-dynamic -dynamic-linker /red/herring \
-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
-SYSTEM_LD_TAIL= @${OBJCOPY} --strip-symbol gcc2_compiled. ${.TARGET} ; \
+SYSTEM_LD_TAIL= @${OBJCOPY} -j .comment ${.TARGET} \
+ ${KERNEL_KO}.comment 2>/dev/null ; \
+ ${OBJCOPY} --strip-symbol gcc2_compiled. -R .comment ${.TARGET} ; \
+ ${IDENT} ${KERNEL_KO}.comment | ${SED} '1d' | \
+ ${SORT} -u > ${KERNEL_KO}.version ; \
${SIZE} ${FMT} ${.TARGET} ; chmod 755 ${.TARGET}
SYSTEM_DEP+= $S/conf/ldscript.$M
diff -ur sys/conf/kmod.mk sys/conf/kmod.mk
--- sys/conf/kmod.mk Mon May 26 07:52:49 2003
+++ sys/conf/kmod.mk Mon May 26 19:55:58 2003
@@ -58,9 +58,13 @@
#
AWK?= awk
+IDENT?= ident
KMODLOAD?= /sbin/kldload
KMODUNLOAD?= /sbin/kldunload
OBJCOPY?= objcopy
+SED?= sed
+SORT?= sort
+TEST?= test
.if defined(KMODDEPS)
.error "Do not use KMODDEPS on 5.0+, use MODULE_VERSION/MODULE_DEPEND"
@@ -122,6 +126,10 @@
${FULLPROG}: ${KMOD}.kld
${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld
+ ${OBJCOPY} -j .comment ${.TARGET} ${KMOD}.comment 2>/dev/null
+ ${OBJCOPY} -R .comment ${.TARGET}
+ ${IDENT} ${KMOD}.comment 2>/dev/null | ${SED} '1d' | \
+ ${SORT} -u > ${KMOD}.version
EXPORT_SYMS?= NO
.if ${EXPORT_SYMS} != YES
@@ -206,10 +214,18 @@
_kmodinstall:
${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \
${_INSTALLFLAGS} ${FULLPROG} ${DESTDIR}${KMODDIR}
+.if !defined(NO_IDENTFILES)
+ ${TEST} -s ${KMOD}.version && ${INSTALL} -o ${KMODOWN} -g ${KMODGRP} \
+ -m 444 ${_INSTALLFLAGS} ${KMOD}.version ${DESTDIR}${KMODDIR}
+.endif
.else
_kmodinstall:
${INSTALL} -o ${KMODOWN} -g ${KMODGRP} -m ${KMODMODE} \
${_INSTALLFLAGS} ${PROG} ${DESTDIR}${KMODDIR}
+.if !defined(NO_IDENTFILES)
+ ${TEST} -s ${KMOD}.version && ${INSTALL} -o ${KMODOWN} -g ${KMODGRP} \
+ -m 444 ${_INSTALLFLAGS} ${KMOD}.version ${DESTDIR}${KMODDIR}
+.endif
.include <bsd.links.mk>
More information about the freebsd-arch
mailing list