Gentoo Archives: gentoo-commits

From: "Francisco Blas Izquierdo Riera (klondike)" <klondike@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/en/hardened: etdyn.xml
Date: Wed, 04 May 2011 21:45:09
Message-Id: 20110504214500.08AD520054@flycatcher.gentoo.org
1 klondike 11/05/04 21:45:00
2
3 Modified: etdyn.xml
4 Log:
5 Solving QA issues
6
7 Revision Changes Path
8 1.4 xml/htdocs/proj/en/hardened/etdyn.xml
9
10 file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/hardened/etdyn.xml?rev=1.4&view=markup
11 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/hardened/etdyn.xml?rev=1.4&content-type=text/plain
12 diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/hardened/etdyn.xml?r1=1.3&r2=1.4
13
14 Index: etdyn.xml
15 ===================================================================
16 RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/hardened/etdyn.xml,v
17 retrieving revision 1.3
18 retrieving revision 1.4
19 diff -u -r1.3 -r1.4
20 --- etdyn.xml 31 Dec 2003 04:59:03 -0000 1.3
21 +++ etdyn.xml 4 May 2011 21:44:59 -0000 1.4
22 @@ -1,7 +1,7 @@
23 <?xml version='1.0' encoding="utf-8"?>
24 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
25 <guide link="/proj/en/hardened/etdyn.xml">
26 -
27 +<title>ETDYN guide</title>
28 <author title="Author">
29 <mail link="pageexec@××××××××.hu">The PaX Team</mail>
30 </author>
31 @@ -23,10 +23,11 @@
32 </abstract>
33
34 <version>1.1</version>
35 -<date>5 Aug 2003</date>
36 +<date>2003-08-05</date>
37
38 <chapter>
39 <title>Introduction</title>
40 + <section>
41 <body>
42 <p>One of the features of PaX is Address Space Layout Randomization (ASLR)
43 that allows the kernel to randomize the addresses of various areas in
44 @@ -67,10 +68,12 @@
45 themselves in the future.</p>
46
47 </body>
48 + </section>
49 </chapter>
50
51 <chapter>
52 <title>How to produce ET_DYN ELF executables</title>
53 + <section>
54 <body>
55
56 <p>The following discussion assumes that the GNU toolchain (such as gcc and
57 @@ -114,8 +117,8 @@
58 care about gcrt1.o). It is no coincidence that crt1.o is not linked into
59 shared libraries as this object contains (among others) the low-level entry
60 point and startup code that invokes the C library startup code which in
61 - turn calls main().
62 - <warn>Initiating the building of ET_DYN executables on Gentoo does not require us to put -shared in our CFLAGS or LDFLAGS</warn></p>
63 + turn calls main(). </p>
64 + <warn>Initiating the building of ET_DYN executables on Gentoo does not require us to put -shared in our CFLAGS or LDFLAGS</warn>
65
66 <p>Making crt1.o position independent is easy, we just have to make use of the
67 GOT (in keeping with the tradition of the glibc naming convention for the
68 @@ -148,20 +151,22 @@
69 code) they can be compiled once and put into the same directory where
70 the other systemwide crt* files are.</p>
71 </body>
72 + </section>
73 </chapter>
74
75 <chapter>
76 <title>ET_DYN ELF executables (The Gentoo Way)</title>
77 + <section>
78 <body>
79
80 - <p>On Gentoo this is accomplished by merging <i>hardened-gcc</i>: </p>
81 + <p>On Gentoo this is accomplished by merging <c>hardened-gcc</c>: </p>
82
83 <pre caption = "Emerging hardened-gcc">
84 -<c># emerge hardened-gcc</c>
85 +# <i>emerge hardened-gcc</i>
86 </pre>
87
88 - <p><i>hardened-gcc</i> is an umbrella package for non-mainstream gcc modifications
89 - The <i>hardened-gcc</i> packages was initially created by Alexander Gabert
90 + <p><c>hardened-gcc</c> is an umbrella package for non-mainstream gcc modifications
91 + The <c>hardened-gcc</c> packages was initially created by Alexander Gabert
92 for this special purpose we are serving here: rolling out the etdyn
93 specs file and interp.o together with the position independent
94 crt1S.o. But this package is not limited to that purpose.
95 @@ -184,21 +189,17 @@
96 one is chpax built as an ET_EXEC.</p>
97
98 <pre caption = "Example files">
99 -<c># file /sbin/chpax</c>
100 +# <i>file /sbin/chpax</i>
101 /sbin/chpax: ELF 32-bit LSB shared object, Intel 80386, version 1 \
102 (GNU/Linux), stripped
103 /sbin/chpax: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for \
104 GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
105 </pre>
106
107 - </body>
108 -</chapter>
109 -
110 +<!--To keep the bugs down for us we really dont want the
111 +end user mucking with the specs -solar -->
112
113 -<comment>To keep the bugs down for us we really dont want the
114 -end user mucking with the specs -solar </comment>
115 -<comment>
116 - <p>We can further simplify the building of ET_DYN executables by modifying
117 +<!-- We can further simplify the building of ET_DYN executables by modifying
118 a few sections of the default gcc specs file as demonstrated in the
119 specs.2.95.3 and specs.3.2.3 files (for the respective gcc versions).
120 To use the new specs file we can either replace the default one or pass
121 @@ -206,12 +207,17 @@
122 could further trim down the new specs file and keep only the sections
123 that we changed: *cpp, *cc1, *endfile, *link and *startfile). From now
124 on invoking gcc as 'gcc -et_dyn' will produce an ET_DYN executable (the
125 - same goes for g++).</p>
126 + same goes for g++).
127
128 - <p>Readers interested in rebuilding entire distributions are encouraged to
129 + Readers interested in rebuilding entire distributions are encouraged to
130 take a look at the Adamantix (http://www.adamantix.org) and Hardened
131 - Gentoo projects (http://www.gentoo.org/proj/en/hardened/).</p>
132 -</comment>
133 + Gentoo projects (http://www.gentoo.org/proj/en/hardened/).
134 +-->
135 + </body>
136 + </section>
137 +</chapter>
138 +
139 +
140 <chapter>
141 <title>Credits</title>
142 <section>