xref: /netbsd-src/share/man/man8/compat_30.8 (revision c7e46fd216df95ac8d032325384f921e06ea4e13)
1*c7e46fd2Swiz.\" $NetBSD: compat_30.8,v 1.9 2011/09/13 09:16:00 wiz Exp $
2a24d299bSchap.\"
3a24d299bSchap.\" Copyright (c) 2006 The NetBSD Foundation, Inc.
4a24d299bSchap.\" All rights reserved.
5a24d299bSchap.\"
6a24d299bSchap.\" This code is derived from a document contributed to The NetBSD Foundation
7a24d299bSchap.\" by Chapman Flack.
8a24d299bSchap.\"
9a24d299bSchap.\" Redistribution and use in source and binary forms, with or without
10a24d299bSchap.\" modification, are permitted provided that the following conditions
11a24d299bSchap.\" are met:
12a24d299bSchap.\" 1. Redistributions of source code must retain the above copyright
13a24d299bSchap.\"    notice, this list of conditions and the following disclaimer.
14a24d299bSchap.\" 2. Redistributions in binary form must reproduce the above copyright
15a24d299bSchap.\"    notice, this list of conditions and the following disclaimer in the
16a24d299bSchap.\"    documentation and/or other materials provided with the distribution.
17a24d299bSchap.\"
18a24d299bSchap.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19a24d299bSchap.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20a24d299bSchap.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21a24d299bSchap.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22a24d299bSchap.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23a24d299bSchap.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24a24d299bSchap.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25a24d299bSchap.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26a24d299bSchap.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27a24d299bSchap.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28a24d299bSchap.\" POSSIBILITY OF SUCH DAMAGE.
29a24d299bSchap.\"
302c8b453fSpavel.Dd December 15, 2007
31a24d299bSchap.Dt COMPAT_30 8
32a24d299bSchap.Os
33a24d299bSchap.Sh NAME
34a24d299bSchap.Nm compat_30
35*c7e46fd2Swiz.Nd setup procedure for backward compatibility on post-3.0 releases
36a24d299bSchap.Sh SYNOPSIS
37a24d299bSchap.Cd "options COMPAT_30"
38a24d299bSchap.Sh DESCRIPTION
39a24d299bSchapThe
40a24d299bSchap.Nm
41a24d299bSchapmodule allows
42a24d299bSchap.Nx
43a24d299bSchapto run
44a24d299bSchap.Nx 3.0
45a24d299bSchapexecutables.
46a24d299bSchap.Pp
47a24d299bSchapThe support is present if the kernel was built with option
48a24d299bSchap.Dv COMPAT_30 .
49a24d299bSchapIt is not available as a loadable module.
50a24d299bSchap.Pp
51a24d299bSchapStatic executables typically need no additional setup.
52a24d299bSchapDynamic binaries may require shared libraries whose major version
53a24d299bSchapnumber changed since
54a24d299bSchap.Nx 3.0 ,
55a24d299bSchapwhich are listed below.
56a24d299bSchapA shadow directory under
57a24d299bSchap.Pa /emul
58a24d299bSchapis not used; the libraries can be obtained from a
59a24d299bSchap.Nx 3.0
60f3ef5715Schapdistribution and installed in the original directories shown,
61a24d299bSchapas the major version number in the file name will prevent conflicts.
62a24d299bSchapIf an upgrade installation from
63a24d299bSchap.Nx 3.0
64a24d299bSchaphas been done and these libraries are still present, nothing more need
65a24d299bSchapbe done.
66a24d299bSchap.Ss Libraries needed from 3.0
67a24d299bSchap.Bl -item
68a24d299bSchap.It
69a24d299bSchap.Pa /lib/libcrypto.so.2.1
70a24d299bSchap.Pa /lib/libcrypto.so.2
71a24d299bSchap.It
722c8b453fSpavel.Pa /usr/lib/libcrypto.so.2.1
732c8b453fSpavel.Pa /usr/lib/libcrypto.so.2
742c8b453fSpavel.It
75a24d299bSchap.Pa /lib/libevent.so.0.2
76a24d299bSchap.Pa /lib/libevent.so.0
77a24d299bSchap.It
782c8b453fSpavel.Pa /usr/lib/libevent.so.0.2
792c8b453fSpavel.Pa /usr/lib/libevent.so.0
802c8b453fSpavel.It
812c8b453fSpavel.Pa /usr/lib/libg2c.so.2.0
822c8b453fSpavel.Pa /usr/lib/libg2c.so.2
832c8b453fSpavel.It
842c8b453fSpavel.Pa /usr/lib/libkadm.so.5.0
852c8b453fSpavel.Pa /usr/lib/libkadm.so.5
862c8b453fSpavel.It
87a24d299bSchap.Pa /usr/lib/libkafs.so.6.0
88a24d299bSchap.Pa /usr/lib/libkafs.so.6
89a24d299bSchap.It
902c8b453fSpavel.Pa /usr/lib/libkdb.so.5.0
912c8b453fSpavel.Pa /usr/lib/libkdb.so.5
922c8b453fSpavel.It
93a24d299bSchap.Pa /usr/lib/libkrb5.so.19.1
94a24d299bSchap.Pa /usr/lib/libkrb5.so.19
95a24d299bSchap.It
962c8b453fSpavel.Pa /usr/lib/libkrb.so.6.0
972c8b453fSpavel.Pa /usr/lib/libkrb.so.6
982c8b453fSpavel.It
992c8b453fSpavel.Pa /usr/lib/libkstream.so.2.0
1002c8b453fSpavel.Pa /usr/lib/libkstream.so.2
1012c8b453fSpavel.It
1022c8b453fSpavel.Pa /usr/lib/libmagic.so.0.1
1032c8b453fSpavel.Pa /usr/lib/libmagic.so.0
1042c8b453fSpavel.It
1052c8b453fSpavel.Pa /usr/lib/libpcap.so.1.4
1062c8b453fSpavel.Pa /usr/lib/libpcap.so.1
1072c8b453fSpavel.It
108a24d299bSchap.Pa /lib/libradius.so.0.0
109a24d299bSchap.Pa /lib/libradius.so.0
110a24d299bSchap.It
1112c8b453fSpavel.Pa /usr/lib/libradius.so.0.0
1122c8b453fSpavel.Pa /usr/lib/libradius.so.0
1132c8b453fSpavel.It
114a24d299bSchap.Pa /usr/lib/libssh.so.1.0
115a24d299bSchap.Pa /usr/lib/libssh.so.1
116a24d299bSchap.It
117a24d299bSchap.Pa /usr/lib/libssl.so.3.0
118a24d299bSchap.Pa /usr/lib/libssl.so.3
1192c8b453fSpavel.It
1202c8b453fSpavel.Pa /usr/lib/libstdc++.so.5.0
1212c8b453fSpavel.Pa /usr/lib/libstdc++.so.5
122a24d299bSchap.\" .It
123a24d299bSchap.\" .Pa libtelnet lives where?
124a24d299bSchap.It
125a24d299bSchap.Pa /lib/libz.so.0.4
126a24d299bSchap.Pa /lib/libz.so.0
127a24d299bSchap.It
1282c8b453fSpavel.Pa /usr/lib/libz.so.0.4
1292c8b453fSpavel.Pa /usr/lib/libz.so.0
1302c8b453fSpavel.It
131a24d299bSchap.Pa /usr/lib/libamu.so.2.1
132a24d299bSchap.Pa /usr/lib/libamu.so.2
133a24d299bSchap.El
134a24d299bSchap.Sh IMPLEMENTATION NOTES
135a24d299bSchap.Dv COMPAT_30
136a24d299bSchapenables the
137a24d299bSchap.Nx 3.0
138a24d299bSchapversions of the following system calls, whose syscall numbers and
139a24d299bSchapargument structures were changed after the 3.0 release to accommodate
140a24d299bSchap64-bit filesystems:
141a24d299bSchap.Xr fhstat 2 ,
142a24d299bSchap.Xr fstat 2 ,
143a24d299bSchap.Xr getdents 2 ,
144a24d299bSchap.Xr lstat 2 ,
145a24d299bSchap.Xr stat 2 .
1464eb1701bSpavel.Pp
1474eb1701bSpavelThe filehandle structure (formerly
1484eb1701bSpavel.Vt fhandle_t )
1494eb1701bSpavelwas made opaque to userland and variable-sized.
1504eb1701bSpavelA
1514eb1701bSpavel.Fa fh_size
1524eb1701bSpavelargument was added to related syscalls:
1534eb1701bSpavel.Xr fhstat 2 ,
1544eb1701bSpavel.Xr fhstatvfs 2 ,
1554eb1701bSpavel.Xr fhstatvfs1 2 ,
1564eb1701bSpavel.Xr fhopen 2 ,
1574eb1701bSpavel.Xr getfh 2 .
1584eb1701bSpavelThis changes the API and ABI of those syscalls,
1594eb1701bSpavel.Dv COMPAT_30
1604eb1701bSpavelenables binary compatibility with the old ABI.
1614eb1701bSpavelSource compatibility is not provided, as use of those syscalls is
1624eb1701bSpavelsupposed to be rare.
1634eb1701bSpavel.Pp
16483ae3a00SpavelThe error code from the
16583ae3a00Spavel.Xr socket 2
16683ae3a00Spavelsyscall changed from
16783ae3a00Spavel.Er EPROTONOSUPPORT
16883ae3a00Spavelto
16983ae3a00Spavel.Er EAFNOSUPPORT
17083ae3a00Spavelin the case of an unsupported address family.
17183ae3a00Spavel.Dv COMPAT_30
17283ae3a00Spavelenables binary compatibility with the old ABI.
17383ae3a00SpavelSource compatiblility is not provided.
17483ae3a00Spavel.Pp
175f3ef5715SchapThe
176f3ef5715Schap.Vt struct ntptimeval
177f3ef5715Schapused by
178f3ef5715Schap.Xr ntp_gettime 2
179f3ef5715Schapchanged with the implementation of timecounters.
180a24d299bSchap.Sh SEE ALSO
181a24d299bSchap.Xr config 1 ,
182a24d299bSchap.Xr fhstat 2 ,
183a24d299bSchap.Xr fstat 2 ,
184a24d299bSchap.Xr getdents 2 ,
185a24d299bSchap.Xr lstat 2 ,
186a24d299bSchap.Xr stat 2 ,
187a24d299bSchap.Xr options 4
188a24d299bSchap.Sh HISTORY
189a24d299bSchap.Nx
190a24d299bSchapoffers back-compatibility options back to
191a24d299bSchap.Nx 0.9 ,
192a24d299bSchapbut the first to be documented with a manual page is
193a24d299bSchap.Nm .
194a24d299bSchap.Sh BUGS
195a24d299bSchapThe compatible
196a24d299bSchap.Xr getdents 2
197a24d299bSchapis unable to see directory entries beneath the top layer of a union,
198a24d299bSchapeven though the real 3.0
199a24d299bSchap.Fn getdents
200a24d299bSchapdid not have that problem.
201a24d299bSchap.Sh SECURITY CONSIDERATIONS
202a24d299bSchapPrograms with security impact that receive incorrect directory contents
203a24d299bSchapfrom
204a24d299bSchap.Fn getdents
205a24d299bSchapmay behave improperly, as when they are unable to find, or find the wrong
206a24d299bSchapversions of, important files.
207