Am Fri, 17 Nov 2017 21:31:06 -0500 Pedro Giffuni <p...@freebsd.org> schrieb:
> > On Nov 17, 2017, at 20:34, Rodney W. Grimes > > <free...@pdx.rh.cn85.dnsmgr.net> wrote: > > > > [ Charset UTF-8 unsupported, converting... ] > >> Kib@ posted to arch that we were removing it, nobody objected, we removed > >> it. If it was a working feature that might have a few users, that's one > >> thing. But I don't think make lint has actually worked in at least a > >> decade. > > > > Thats a sad state of affairs. > > > > t’s not sad, just the way things are, modern compilers are doing much of the > checking > older tools like lint used to do.. OpenBSD and DragonflyBSD both killed lint > ages ago. > > OTOH, we should probably consider other tools, like sparse: > > https://sparse.wiki.kernel.org/index.php/Main_Page Unfortunately, there is (yet) no port of this tool in our tree ... Or did I miss something? > > The license is fine and it plays nice with the compiler. > > >> > >> When I try it today, I get dozens of warnings, and several syntax errors: > >> > >> types.h(289): syntax error [249] > >> nvme.h(79): syntax error [249] > >> nvme.h(105): syntax error [249] > >> nvme.h(137): syntax error [249] > >> nvme.h(160): syntax error [249] > >> nvme.h(160): cannot recover from previous errors [224] > >> > >> since it flags all c99 and newer usages as syntax errors. We've been using > >> c99 for the kernel since about 8.x, and in the base longer than that. xlint > >> hasn't been useful since we started doing this. The types.h change went in: > >> c217b5c12e71 ( mdf 2011-12-12 18:44:17 +0000 289)typedef _Bool bool; > >> which as far as I can make out was between 8.x being branched and 9.x being > >> branched. This feature has therefore been broken for 3 major releases > >> without any announcement, or even any bug reports coming in. Not exactly a > >> feature that has an audience that needs to be informed of anything... While > >> I generally agree one should try to follow proper deprecation process, this > >> has been de-facto removed from the source tree for at least 6 years, and > >> likely broken a lot longer than that. At most this deserves a one-liner in > >> the release notes. At most. > >> > >> So is this about my forgetting to include a "Release Notes: Yes" line in > >> the commit, or something larger? > > > > Something larger. Just because the src tree use of lint is failing > > does not meant that someone out there is not using lint in some > > other capacity. The depreication policy is there to notify them > > that lint well be removed as a program in the next release. > > > > Where is this policy written? If we have to, my guess is we can announce the > deprecation in 11.2. A policy that would force us to ship xlint in 12.0 would > just be a > bad policy. > > "xlint" is/was an internal development tool not a utility of any usefulness > for > non-developers. I would compare it to the disappearance of the C Preprocessor > when we > moved to clang, with the significant difference that the lack of C a > preprocessor broke > some ports. > > > Just because FreeBSD's internal use of lint is broken should in > > no way relieve us of that obligation and stated policy. > > > > If someone needs it the/she may submit it in the ports tree, like we did with > other > stuff that has been deprecated. > > > People seem to be axing stuff without following this policy, > > and without even bothering to do a release notes Y. > > > > So … can we remove ctm(1) ? > > Pedro. > > > > >> Warner > >> > >> On Fri, Nov 17, 2017 at 11:31 AM, Rodney W. Grimes < > >> free...@pdx.rh.cn85.dnsmgr.net> wrote: > >> > >>> TOP post,sorry.... > >>> > >>> > >>> Someone needs to follow up with proper deprication procedures on lint. > >>> > >>> > >>>> Author: imp > >>>> Date: Fri Nov 17 18:16:46 2017 > >>>> New Revision: 325954 > >>>> URL: https://svnweb.freebsd.org/changeset/base/325954 > >>>> > >>>> Log: > >>>> Remove build system support for lint. > >>>> > >>>> Differential Revision: https://reviews.freebsd.org/D13124 > >>>> > >>>> Modified: > >>>> head/Makefile > >>>> head/share/mk/bsd.README > >>>> head/share/mk/bsd.lib.mk > >>>> head/share/mk/bsd.own.mk > >>>> head/share/mk/bsd.prog.mk > >>>> head/share/mk/bsd.subdir.mk > >>>> head/share/mk/bsd.suffixes.mk > >>>> head/share/mk/sys.mk > >>>> head/sys/conf/kern.mk > >>>> head/sys/conf/kern.post.mk > >>>> head/sys/conf/kern.pre.mk > >>>> head/sys/conf/kmod.mk > >>>> head/usr.sbin/config/mkmakefile.c > >>>> > >>>> Modified: head/Makefile > >>>> ============================================================ > >>> ================== > >>>> --- head/Makefile Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/Makefile Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -129,7 +129,7 @@ TGTS= all all-man buildenv buildenvvars > >>> buildkernel bu > >>>> everything hier hierarchy install installcheck installkernel \ > >>>> installkernel.debug packagekernel packageworld \ > >>>> reinstallkernel reinstallkernel.debug \ > >>>> - installworld kernel-toolchain libraries lint maninstall \ > >>>> + installworld kernel-toolchain libraries maninstall \ > >>>> obj objlink showconfig tags toolchain update \ > >>>> _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ > >>>> _build-tools _build-metadata _cross-tools _includes _libraries \ > >>>> > >>>> Modified: head/share/mk/bsd.README > >>>> ============================================================ > >>> ================== > >>>> --- head/share/mk/bsd.README Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/share/mk/bsd.README Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -250,8 +250,6 @@ It has seven targets: > >>>> beforeinstall and afterinstall may also be used to cause > >>>> actions immediately before and after the install target > >>>> is executed. > >>>> - lint: > >>>> - run lint on the source files > >>>> tags: > >>>> create a tags file for the source files. > >>>> > >>>> @@ -488,18 +486,17 @@ ${MOD}_oid.h A header which programmatically > >>> describes > >>>> > >>>> The include file <bsd.subdir.mk> contains the default targets for > >>> building > >>>> subdirectories. It has the same seven targets as <bsd.prog.mk>: all, > >>> clean, > >>>> -cleandir, depend, install, lint, and tags. For all of the directories > >>>> -listed in the variable SUBDIRS, the specified directory will be visited > >>>> -and the target made. There is also a default target which allows the > >>>> -command "make subdir" where subdir is any directory listed in the > >>> variable > >>>> -SUBDIRS. > >>>> +cleandir, depend, install, and tags. For all of the directories listed > >>>> > >>> in the > >>>> +variable SUBDIRS, the specified directory will be visited and the > >>> target made. > >>>> +There is also a default target which allows the command "make subdir" > >>> where > >>>> +subdir is any directory listed in the variable SUBDIRS. > >>>> > >>>> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > >>> =-=-=-=-=-=-= > >>>> > >>>> -The include file <bsd.lib.mk> has support for building libraries. It > >>> has > >>>> -the same seven targets as <bsd.prog.mk>: all, clean, cleandir, depend, > >>>> -install, lint, and tags. It has a limited number of suffixes, > >>> consistent > >>>> -with the current needs of the BSD tree. > >>>> +The include file <bsd.lib.mk> has support for building libraries. It > >>> has the > >>>> +same seven targets as <bsd.prog.mk>: all, clean, cleandir, depend, > >>> install, and > >>>> +tags. It has a limited number of suffixes, consistent with the current > >>>> > >>> needs of > >>>> +the BSD tree. > >>>> > >>>> It sets/uses the following variables: > >>>> > >>>> @@ -530,8 +527,6 @@ LIB_CXX The name of the library to build. > >>> It also cau > >>>> will be built. NO_PIC can be set to only build a static > >>>> library. > >>>> > >>>> -LINTLIBDIR Target directory for lint libraries. > >>>> - > >>>> MAN The manual pages to be installed. See bsd.man.mk for more > >>>> details. > >>>> > >>>> @@ -588,8 +583,6 @@ It has seven targets: > >>>> targets beforeinstall and afterinstall may also be used > >>>> to cause actions immediately before and after the > >>>> install target is executed. > >>>> - lint: > >>>> - run lint on the source files. > >>>> tags: > >>>> create a tags file for the source files. > >>>> > >>>> > >>>> Modified: head/share/mk/bsd.lib.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/share/mk/bsd.lib.mk Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/share/mk/bsd.lib.mk Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -285,18 +285,6 @@ lib${LIB_PRIVATE}${LIB}_pic.a: ${SOBJS} > >>>> ${RANLIB} ${RANLIBFLAGS} ${.TARGET} > >>>> .endif > >>>> > >>>> -.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && > >>> !empty(LIB) > >>>> -LINTLIB= llib-l${LIB}.ln > >>>> -_LIBS+= ${LINTLIB} > >>>> -LINTOBJS+= ${SRCS:M*.c:.c=.ln} > >>>> -CLEANFILES+= ${LINTOBJS} > >>>> - > >>>> -${LINTLIB}: ${LINTOBJS} > >>>> - @${ECHO} building lint library ${.TARGET} > >>>> - @rm -f ${.TARGET} > >>>> - ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} > >>>> -.endif > >>>> - > >>>> .endif # !defined(INTERNALLIB) > >>>> > >>>> .if defined(_SKIP_BUILD) > >>>> @@ -403,10 +391,6 @@ _libinstall: > >>>> ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g > >>> ${LIBGRP} -m ${LIBMODE} \ > >>>> ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}/ > >>>> .endif > >>>> -.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && > >>> !empty(LIB) > >>>> - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g > >>> ${LIBGRP} -m ${LIBMODE} \ > >>>> - ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}/ > >>>> -.endif > >>>> .endif # !defined(INTERNALLIB) > >>>> > >>>> .if !defined(LIBRARIES_ONLY) > >>>> @@ -423,11 +407,6 @@ realinstall: maninstall > >>>> .ORDER: beforeinstall maninstall > >>>> .endif > >>>> > >>>> -.endif > >>>> - > >>>> -.if !target(lint) > >>>> -lint: ${SRCS:M*.c} > >>>> - ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} > >>>> .endif > >>>> > >>>> .if ${MK_MAN} != "no" && !defined(LIBRARIES_ONLY) > >>>> > >>>> Modified: head/share/mk/bsd.own.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/share/mk/bsd.own.mk Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/share/mk/bsd.own.mk Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -32,8 +32,6 @@ > >>>> # > >>>> # LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] > >>>> # > >>>> -# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] > >>>> -# > >>>> # SHLIBDIR Base path for shared libraries. [${LIBDIR}] > >>>> # > >>>> # LIBOWN Library owner. [${BINOWN}] > >>>> @@ -162,7 +160,6 @@ LIBDIR?= ${LIBDIR_BASE} > >>>> LIBCOMPATDIR?= /usr/lib/compat > >>>> LIBDATADIR?= /usr/libdata > >>>> LIBEXECDIR?= /usr/libexec > >>>> -LINTLIBDIR?= /usr/libdata/lint > >>>> SHLIBDIR?= ${LIBDIR} > >>>> LIBOWN?= ${BINOWN} > >>>> LIBGRP?= ${BINGRP} > >>>> > >>>> Modified: head/share/mk/bsd.prog.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/share/mk/bsd.prog.mk Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/share/mk/bsd.prog.mk Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -294,13 +294,6 @@ realinstall: maninstall > >>>> > >>>> .endif # !target(install) > >>>> > >>>> -.if !target(lint) > >>>> -lint: ${SRCS:M*.c} > >>>> -.if defined(PROG) > >>>> - ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} > >>>> -.endif > >>>> -.endif > >>>> - > >>>> .if ${MK_MAN} != "no" > >>>> .include <bsd.man.mk> > >>>> .endif > >>>> > >>>> Modified: head/share/mk/bsd.subdir.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/share/mk/bsd.subdir.mk Fri Nov 17 18:00:52 2017 > >>> (r325953) > >>>> +++ head/share/mk/bsd.subdir.mk Fri Nov 17 18:16:46 2017 > >>> (r325954) > >>>> @@ -46,7 +46,7 @@ SUBDIR_TARGETS+= \ > >>>> all all-man analyze buildconfig buildfiles buildincludes \ > >>>> checkdpadd clean cleandepend cleandir cleanilinks \ > >>>> cleanobj depend distribute files includes installconfig \ > >>>> - installfiles installincludes print-dir realinstall lint \ > >>>> + installfiles installincludes print-dir realinstall \ > >>>> maninstall manlint ${_obj} objlink tags \ > >>>> > >>>> # Described above. > >>>> > >>>> Modified: head/share/mk/bsd.suffixes.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/share/mk/bsd.suffixes.mk Fri Nov 17 18:00:52 2017 > >>> (r325953) > >>>> +++ head/share/mk/bsd.suffixes.mk Fri Nov 17 18:16:46 2017 > >>> (r325954) > >>>> @@ -4,14 +4,6 @@ > >>>> cp -f ${.IMPSRC} ${.TARGET} > >>>> chmod a+x ${.TARGET} > >>>> > >>>> -.c.ln: > >>>> - ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \ > >>>> - touch ${.TARGET} > >>>> - > >>>> -.cc.ln .C.ln .cpp.ln .cxx.ln: > >>>> - ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \ > >>>> - touch ${.TARGET} > >>>> - > >>>> .c: > >>>> ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET} > >>>> ${CTFCONVERT_CMD} > >>>> > >>>> Modified: head/share/mk/sys.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/share/mk/sys.mk Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/share/mk/sys.mk Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -142,7 +142,7 @@ NO_META_IGNORE_HOST_HEADERS= 1 > >>>> .if defined(%POSIX) > >>>> .SUFFIXES: .o .c .y .l .a .sh .f > >>>> .else > >>>> -.SUFFIXES: .out .a .ln .o .bco .llo .c .cc .cpp .cxx .C .m .F .f .e > >>> .r .y .l .S .asm .s .cl .p .h .sh > >>>> +.SUFFIXES: .out .a .o .bco .llo .c .cc .cpp .cxx .C .m .F .f .e .r .y > >>>> > >>> .l .S .asm .s .cl .p .h .sh > >>>> .endif > >>>> > >>>> AR ?= ar > >>>> @@ -244,13 +244,6 @@ LFLAGS ?= > >>>> LD ?= ld > >>>> LDFLAGS ?= > >>>> _LDFLAGS = ${LDFLAGS:S/-Wl,//g:N-mabi=*:N-fuse-ld=*} > >>>> - > >>>> -LINT ?= lint > >>>> -LINTFLAGS ?= -cghapbx > >>>> -LINTKERNFLAGS ?= ${LINTFLAGS} > >>>> -LINTOBJFLAGS ?= -cghapbxu -i > >>>> -LINTOBJKERNFLAGS?= ${LINTOBJFLAGS} > >>>> -LINTLIBFLAGS ?= -cghapbxu -C ${LIB} > >>>> > >>>> MAKE ?= make > >>>> > >>>> > >>>> Modified: head/sys/conf/kern.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/sys/conf/kern.mk Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/sys/conf/kern.mk Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -228,7 +228,7 @@ PHONY_NOTMAIN = afterdepend afterinstall all > >>> beforedep > >>>> beforelinking build build-tools buildfiles buildincludes \ > >>>> checkdpadd clean cleandepend cleandir cleanobj configure \ > >>>> depend distclean distribute exe \ > >>>> - html includes install installfiles installincludes lint \ > >>>> + html includes install installfiles installincludes \ > >>>> obj objlink objs objwarn \ > >>>> realinstall regress \ > >>>> tags whereobj > >>>> > >>>> Modified: head/sys/conf/kern.post.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/sys/conf/kern.post.mk Fri Nov 17 18:00:52 2017 > >>> (r325953) > >>>> +++ head/sys/conf/kern.post.mk Fri Nov 17 18:16:46 2017 > >>> (r325954) > >>>> @@ -153,7 +153,6 @@ ${FULLKERNEL}: ${SYSTEM_DEP} vers.o > >>>> > >>>> OBJS_DEPEND_GUESS+= assym.s vnode_if.h ${BEFORE_DEPEND:M*.h} \ > >>>> ${MFILES:T:S/.m$/.h/} > >>>> -LNFILES= ${CFILES:T:S/.c$/.ln/} > >>>> > >>>> .for mfile in ${MFILES} > >>>> # XXX the low quality .m.o rules gnerated by config are normally used > >>>> @@ -167,15 +166,11 @@ ${mfile:T:S/.m$/.h/}: ${mfile} > >>>> kernel-clean: > >>>> rm -f *.o *.so *.pico *.ko *.s eddep errs \ > >>>> ${FULLKERNEL} ${KERNEL_KO} ${KERNEL_KO}.debug \ > >>>> - linterrs tags vers.c \ > >>>> + tags vers.c \ > >>>> vnode_if.c vnode_if.h vnode_if_newproto.h vnode_if_typedef.h \ > >>>> ${MFILES:T:S/.m$/.c/} ${MFILES:T:S/.m$/.h/} \ > >>>> ${CLEAN} > >>>> > >>>> -lint: ${LNFILES} > >>>> - ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC} 2>&1 | \ > >>>> - tee -a linterrs > >>>> - > >>>> # 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. > >>>> @@ -364,9 +359,6 @@ kernel-reinstall: > >>>> config.o env.o hints.o vers.o vnode_if.o: > >>>> ${NORMAL_C} > >>>> ${NORMAL_CTFCONVERT} > >>>> - > >>>> -config.ln env.ln hints.ln vers.ln vnode_if.ln: > >>>> - ${NORMAL_LINT} > >>>> > >>>> .if ${MK_REPRODUCIBLE_BUILD} != "no" > >>>> REPRO_FLAG="-r" > >>>> > >>>> Modified: head/sys/conf/kern.pre.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/sys/conf/kern.pre.mk Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/sys/conf/kern.pre.mk Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -46,7 +46,6 @@ M= ${MACHINE} > >>>> > >>>> AWK?= awk > >>>> CP?= cp > >>>> -LINT?= lint > >>>> NM?= nm > >>>> OBJCOPY?= objcopy > >>>> SIZE?= size > >>>> @@ -121,9 +120,6 @@ CFLAGS+= ${CONF_CFLAGS} > >>>> LDFLAGS+= -Wl,--build-id=sha1 > >>>> .endif > >>>> > >>>> -# Optional linting. This can be overridden in /etc/make.conf. > >>>> -LINTFLAGS= ${LINTOBJKERNFLAGS} > >>>> - > >>>> NORMAL_C= ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.IMPSRC} > >>>> NORMAL_S= ${CC:N${CCACHE_BIN}} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC} > >>>> PROFILE_C= ${CC} -c ${CFLAGS} ${WERROR} ${.IMPSRC} > >>>> @@ -175,8 +171,6 @@ NORMAL_CTFCONVERT= > >>>> .else > >>>> NORMAL_CTFCONVERT= @: > >>>> .endif > >>>> - > >>>> -NORMAL_LINT= ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} > >>>> > >>>> # Linux Kernel Programming Interface C-flags > >>>> LINUXKPI_INCLUDES= -I$S/compat/linuxkpi/common/include > >>>> > >>>> Modified: head/sys/conf/kmod.mk > >>>> ============================================================ > >>> ================== > >>>> --- head/sys/conf/kmod.mk Fri Nov 17 18:00:52 2017 (r325953) > >>>> +++ head/sys/conf/kmod.mk Fri Nov 17 18:16:46 2017 (r325954) > >>>> @@ -469,9 +469,6 @@ genassym.o: ${SRCS:Mopt_*.h} > >>>> ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c > >>>> .endif > >>>> > >>>> -lint: ${SRCS} > >>>> - ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC:M*.c} > >>>> - > >>>> .if defined(KERNBUILDDIR) > >>>> ${OBJS}: opt_global.h > >>>> .endif > >>>> > >>>> Modified: head/usr.sbin/config/mkmakefile.c > >>>> ============================================================ > >>> ================== > >>>> --- head/usr.sbin/config/mkmakefile.c Fri Nov 17 18:00:52 2017 > >>> (r325953) > >>>> +++ head/usr.sbin/config/mkmakefile.c Fri Nov 17 18:16:46 2017 > >>> (r325954) > >>>> @@ -690,18 +690,11 @@ do_rules(FILE *f) > >>>> continue; > >>>> } > >>>> if (ftp->f_depends) { > >>>> - fprintf(f, "%s%sln: $S/%s%c %s\n", > >>>> - ftp->f_objprefix, tail(np), np, > >>> och, > >>>> - ftp->f_depends); > >>>> - fprintf(f, "\t${NORMAL_LINT}\n\n"); > >>>> fprintf(f, "%s%so: $S/%s%c %s\n", > >>>> ftp->f_objprefix, tail(np), np, > >>> och, > >>>> ftp->f_depends); > >>>> } > >>>> else { > >>>> - fprintf(f, "%s%sln: $S/%s%c\n", > >>>> - ftp->f_objprefix, tail(np), np, > >>> och); > >>>> - fprintf(f, "\t${NORMAL_LINT}\n\n"); > >>>> fprintf(f, "%s%so: $S/%s%c\n", > >>>> ftp->f_objprefix, tail(np), np, > >>> och); > >>>> } > >>>> > >>>> > >>> > >>> -- > >>> Rod Grimes > >>> rgri...@freebsd.org > >>> > > > > -- > > Rod Grimes > > rgri...@freebsd.org > > > > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" -- O. Hartmann Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG).
pgp7Vyh9ocbZD.pgp
Description: OpenPGP digital signature