cvs commit: src/include string.h src/lib/libc/string
Makefile.inc memchr.3 memrchr.c src/sys/sys param.h
Maxim Sobolev
sobomax at FreeBSD.org
Wed May 28 00:37:47 UTC 2008
Xin LI wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Maxim Sobolev wrote:
> | Xin LI wrote:
> |> delphij 2008-05-27 20:04:27 UTC
> |>
> |> FreeBSD src repository
> |>
> |> Modified files: (Branch: RELENG_6)
> |> include string.h lib/libc/string
> |> Makefile.inc memchr.3 sys/sys param.h Added
> |> files: (Branch: RELENG_6)
> |> lib/libc/string memrchr.c Log:
> |> MFC: Add memrchr(3).
> |
> | I think this is not very good idea to MFC that into stable releases 6.x
> | and 7.x. The reason is that configure scripts for some packages might
> | detect up this API and enable it. Which means that some binary-only
> | packages build for say 6.4 won't work on 6.3 and down. AFAIK, both
> | forward and backward compatibility is required (or at least desired?)
> | for stable branches.
> |
> | While it's "nice-to-have" feature, I see no pressing need to MFC this
> | interface.
>
> I don't think so, perhaps I am wrong, but do we really want absolutely
> no *new* features on -STABLE branches? I think this case is different
> from ctype(3) fix which is widely used API and a change of existing
> interface by adding new dependency to a symbol that is not exist in the
> older FreeBSD releases. It will really scare me away from any new
> features if we can not add an new interface in RELENG_* trees even if
> they have no outside dependencies, if that's the policy of ABI
> compatibility guidelines then I'd be happy to revert these MFC's, but
> having something can only run on -CURRENT does not sound like a good
> idea, and maintaining in-tree alternative patches for different branches
> for such things is really painful and will likely reduce the lifespan of
> given -STABLE branches, is these our goal and should be kept in mind
> when maintaining code in RELENG_* branches?
Well, as I said it might not be something strictly required, but why not
be nice to ISVs and users? Ability to run binaries compiled on 6.4 on
previous 6.x releases is really important in many situations. The less
gratuitous breakage we introduce the better. And yes, I know that
historically we as a projects have had a very bad track record in this
area. That's probably one of the reasons why big software vendors
(Oracle, Sun etc) are very reluctant to provide native binary packages
for FreeBSD.
In this particular case the memrchr() is not something mandated by the
C90 and/or POSIX/SUS. It's glibc extension. Any software that is
portable should be able to live without it. IMHO, there is very little
or no gain in having it MFCed.
-Maxim
More information about the cvs-src
mailing list