source: BOOK/final-system/multilib/glibc-64bit.xml@ 352dce0

systemd
Last change on this file since 352dce0 was 58375318, checked in by William Harrington <kb0iic@…>, 8 years ago

Use --enable-stack-protector=strong during GLIBC final system.

  • Property mode set to 100644
File size: 6.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-glibc" role="wrap">
9 <?dbhtml filename="glibc-64bit.html"?>
10
11 <title>Glibc-&glibc-version; 64-Bit</title>
12
13 <indexterm zone="ch-system-glibc">
14 <primary sortas="a-Glibc">Glibc</primary>
15 </indexterm>
16
17 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
18 href="glibc.xml"
19 xpointer="xpointer(//*[@role='package'])"/>
20
21 <sect2 role="installation">
22 <title>Installation of Glibc</title>
23
24 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
25 href="../common/glibc.xml"
26 xpointer="xpointer(//*[@os='l1'])"/>
27
28<screen os="l2"><userinput>LINKER=$(readelf -l /tools/bin/bash | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p')
29sed -i "s|libs -o|libs -L/usr/lib64 -Wl,-dynamic-linker=${LINKER} -o|" \
30 scripts/test-installation.pl
31unset LINKER</userinput></screen>
32
33 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
34 href="glibc.xml"
35 xpointer="xpointer(//*[@os='b'])"/>
36
37 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
38 href="glibc.xml"
39 xpointer="xpointer(//*[@os='e'])"/>
40
41 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
42 href="glibc.xml"
43 xpointer="xpointer(//*[@os='f'])"/>
44
45 <para os="m1">Configure Glibc to install its 64-bit libraries into
46 <filename class="directory">/lib64</filename>:</para>
47
48<screen os="m2"><userinput>echo "libc_cv_slibdir=/lib64" &gt;&gt; config.cache</userinput></screen>
49
50 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
51 href="glibc.xml"
52 xpointer="xpointer(//*[@os='g'])"/>
53
54<screen os="h"><userinput>CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
55../glibc-&glibc-version;/configure \
56 --prefix=/usr \
57 --enable-kernel=&glibc-kernel-version; \
58 --libexecdir=/usr/lib64/glibc \
59 --libdir=/usr/lib64 \
60 --enable-obsolete-rpc \
61 --enable-stack-protector=strong \
62 --cache-file=config.cache</userinput></screen>
63
64 <variablelist os="i">
65 <title>The meaning of the new configure option:</title>
66
67 <varlistentry>
68 <term><parameter>--libexecdir=/usr/lib64/glibc</parameter></term>
69 <listitem>
70 <para>This changes the location for hard links to the
71 <command>getconf</command> utility from their default of <filename
72 class="directory">/usr/libexec</filename> to <filename
73 class="directory">/usr/lib64/glibc</filename>.</para>
74 </listitem>
75 </varlistentry>
76 </variablelist>
77
78 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
79 href="glibc.xml"
80 xpointer="xpointer(//*[@os='j'])"/>
81
82 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
83 href="glibc.xml"
84 xpointer="xpointer(//*[@os='k'])"/>
85
86 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
87 href="glibc.xml"
88 xpointer="xpointer(//*[@os='l'])"/>
89
90 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
91 href="glibc.xml"
92 xpointer="xpointer(//*[@os='m'])"/>
93
94 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
95 href="glibc.xml"
96 xpointer="xpointer(//*[@os='n'])"/>
97
98 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
99 href="glibc.xml"
100 xpointer="xpointer(//*[@os='o'])"/>
101
102 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
103 href="../common/glibc.xml"
104 xpointer="xpointer(//*[@os='p'])"/>
105
106 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
107 href="glibc.xml"
108 xpointer="xpointer(//*[@os='s'])"/>
109
110 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
111 href="glibc.xml"
112 xpointer="xpointer(//*[@os='t'])"/>
113
114 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
115 href="../common/glibc.xml"
116 xpointer="xpointer(//*[@os='u'])"/>
117
118 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
119 href="../common/glibc.xml"
120 xpointer="xpointer(//*[@os='v'])"/>
121
122 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
123 href="../common/glibc.xml"
124 xpointer="xpointer(//*[@os='w'])"/>
125
126 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
127 href="../common/glibc.xml"
128 xpointer="xpointer(//*[@os='x'])"/>
129
130 </sect2>
131
132 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
133 href="../common/glibc.xml"
134 xpointer="xpointer(id('i18n-glibc'))"/>
135
136 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
137 href="../common/glibc.xml"
138 xpointer="xpointer(id('conf-glibc'))"/>
139
140 <sect2 id="conf-ld" role="configuration">
141 <title>Configuring The Dynamic Loader</title>
142
143 <indexterm zone="conf-ld">
144 <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
145 </indexterm>
146
147 <para os="ld-a">By default, the dynamic loader (<filename
148 class="libraryfile">/lib/ld-linux.so.2</filename> for 32bit executables and
149 <filename class="libraryfile">/lib64/ld-linux.so.2</filename> for
150 64bit executables) searches through
151 <filename class="directory">/lib</filename>,
152 <filename class="directory">/lib64</filename>,
153 <filename class="directory">/usr/lib</filename>,
154 and <filename class="directory">/usr/lib64</filename> for dynamic
155 libraries that are needed by programs as they are run. However, if
156 there are libraries in directories other than these, they need to be
157 added to the <filename>/etc/ld.so.conf</filename> file in order
158 for the dynamic loader to find them. Some directories that are commonly
159 known to contain additional libraries are
160 <filename class="directory">/usr/local/lib</filename>,
161 <filename class="directory">/usr/local/lib64</filename>,
162 <filename class="directory">/opt/lib</filename>,
163 and <filename class="directory">/opt/lib64</filename>,
164 so add those directories to the dynamic loader's search path.</para>
165
166 <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the
167 following:</para>
168
169<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
170<literal># Begin /etc/ld.so.conf
171
172/usr/local/lib
173/usr/local/lib64
174/opt/lib
175/opt/lib64
176
177# End /etc/ld.so.conf</literal>
178EOF</userinput></screen>
179
180 </sect2>
181
182 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
183 href="../common/glibc.xml"
184 xpointer="xpointer(id('contents-glibc'))"/>
185
186</sect1>
Note: See TracBrowser for help on using the repository browser.