link.5 (97021799043459c9244d57ad339eb4d9d2b5fc2d) link.5 (270d3d754aaf84a6427db275f9a121561af689ad)
1.\" Copyright (c) 1993 Paul Kranenburg
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.

--- 12 unchanged lines hidden (view full) ---

21.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28.\"
1.\" Copyright (c) 1993 Paul Kranenburg
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.

--- 12 unchanged lines hidden (view full) ---

21.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28.\"
29.\" $Id: link.5,v 1.1 1994/12/23 22:41:46 nate Exp $
29.\" $Id: link.5,v 1.2 1995/04/16 12:35:13 ats Exp $
30.\"
31.Dd October 23, 1993
32.Dt LINK 5
33.Os
34.Sh NAME
35.Nm link
36.Nd dynamic loader and link editor interface
37.Sh SYNOPSIS

--- 19 unchanged lines hidden (view full) ---

57and is embedded in the standard text and data segments of the dynamically
58linked program or shared object image as the existing
59.Xr a.out
60format offers no room for it elsewhere.
61.Pp
62Several utilities cooperate to ensure that the task of getting a program
63ready to run can complete successfully in a way that optimizes the use
64of system resources. The compiler emits PIC code from which shared libraries
30.\"
31.Dd October 23, 1993
32.Dt LINK 5
33.Os
34.Sh NAME
35.Nm link
36.Nd dynamic loader and link editor interface
37.Sh SYNOPSIS

--- 19 unchanged lines hidden (view full) ---

57and is embedded in the standard text and data segments of the dynamically
58linked program or shared object image as the existing
59.Xr a.out
60format offers no room for it elsewhere.
61.Pp
62Several utilities cooperate to ensure that the task of getting a program
63ready to run can complete successfully in a way that optimizes the use
64of system resources. The compiler emits PIC code from which shared libraries
65can be build by
66.Xr ld 1.
65can be built by
66.Xr ld 1 .
67The compiler also includes size information of any initialized data items
68through the .size assembler directive. PIC code differs from conventional code
69in that it accesses data variables through an indirection table, the
70Global Offset Table, by convention accessable by the reserved name
71.Em _GLOBAL_OFFSET_TABLE_.
72The exact mechanism used for this is machine dependent, usually a machine
73register is reserved for the purpose. The rational behind this construct
74is to generate code that is independent of the actual load address. Only

--- 487 unchanged lines hidden ---
67The compiler also includes size information of any initialized data items
68through the .size assembler directive. PIC code differs from conventional code
69in that it accesses data variables through an indirection table, the
70Global Offset Table, by convention accessable by the reserved name
71.Em _GLOBAL_OFFSET_TABLE_.
72The exact mechanism used for this is machine dependent, usually a machine
73register is reserved for the purpose. The rational behind this construct
74is to generate code that is independent of the actual load address. Only

--- 487 unchanged lines hidden ---