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

sysvinit
Last change on this file since f3ec8c71 was f3ec8c71, checked in by William Harrington <kb0iic@…>, 7 years ago

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

  • Property mode set to 100644
File size: 6.0 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  </sect2>
123
124  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
125  href="../common/glibc.xml"
126  xpointer="xpointer(id('i18n-glibc'))"/>
127
128  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
129  href="../common/glibc.xml"
130  xpointer="xpointer(id('conf-glibc'))"/>
131
132  <sect2 id="conf-ld" role="configuration">
133    <title>Configuring The Dynamic Loader</title>
134
135    <indexterm zone="conf-ld">
136      <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
137    </indexterm>
138
139    <para os="ld-a">By default, the dynamic loader (<filename
140    class="libraryfile">/lib/ld-linux.so.2</filename> for 32bit executables and
141    <filename class="libraryfile">/lib64/ld-linux.so.2</filename> for
142    64bit executables) searches through
143    <filename class="directory">/lib</filename>,
144    <filename class="directory">/lib64</filename>,
145    <filename class="directory">/usr/lib</filename>,
146    and <filename class="directory">/usr/lib64</filename> for dynamic
147    libraries that are needed by programs as they are run. However, if
148    there are libraries in directories other than these, they need to be
149    added to the <filename>/etc/ld.so.conf</filename> file in order
150    for the dynamic loader to find them. Some directories that are commonly
151    known to contain additional libraries are
152    <filename class="directory">/usr/local/lib</filename>,
153    <filename class="directory">/usr/local/lib64</filename>,
154    <filename class="directory">/opt/lib</filename>,
155    and <filename class="directory">/opt/lib64</filename>,
156    so add those directories to the dynamic loader's search path.</para>
157
158    <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the
159    following:</para>
160
161<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
162<literal># Begin /etc/ld.so.conf
163
164/usr/local/lib
165/usr/local/lib64
166/opt/lib
167/opt/lib64
168
169# End /etc/ld.so.conf</literal>
170EOF</userinput></screen>
171
172  </sect2>
173
174  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
175  href="../common/glibc.xml"
176  xpointer="xpointer(id('contents-glibc'))"/>
177
178</sect1>
Note: See TracBrowser for help on using the repository browser.