1 AUTHOR: Robert Connolly <cendres at videotron dot ca> (ashes)
7 SYNOPSIS: Hardened cross compiling
9 PRIMARY URL: http://www.linuxfromscratch.org/~robert/winter/
12 The previous contents of this hint were added to Hardened Linux From Scratch
13 and the HLFS book is reccomended for native platform compiling for Linux.
14 http://www.linuxfromscratch.org/hlfs/
16 http://www.linuxfromscratch.org/~robert/winter/Linux/
18 This hint will continue to try to port position independent executables (pie)
19 and smashing stack protector (ssp), by default, to non-x86 and non-glibc
20 targets. For more information about pie and ssp please reffer to the HLFS
21 mailing list and book. The official homepage for ssp is here:
22 http://www.research.ibm.com/trl/projects/security/ssp/
23 There isn't really an official homepage for pie, except for:
25 http://gcc.gnu.org/ml/gcc-patches/2003-06/msg00140.html
27 Both of these features are related to GCC and are as portable as GCC, almost.
28 If my information is correct ssp does not work on hppa, but pie does. And pie
29 only works on elf systems.
34 These are basicly the same patches as for a native Linux build. The libc patch
35 is different but I am trying to find a way to make the same code work on all
39 As you may already know, NetBSD will build on Linux. This is the complete hint
40 for building NetBSD with propolice smashing stack protector.
41 http://www.linuxfromscratch.org/~robert/winter/NetBSD/netbsd-ssp.txt
43 Please note the XF4 patch only works on version 4.3. 4.4 is not yet supported.
44 Follow NetBSD's instructions for cross compiling.
47 This isn't finished, there is a problem with filc(). If you want to
48 test it most of the patching is done, there is a hint here:
49 http://www.linuxfromscratch.org/~robert/winter/FreeBSD/freebsd-ssp.txt
52 Make a multiplatform autopie patch, test it against Linux and *bsd.
54 Uclibc has ssp and pie support, but I have never tested it.
56 I would like to support gcc-2.95.3 if there is any demand for it, so far none.
58 Minix and ssp might get along. Either backport ssp to gcc-2.7, or port minix to
59 gcc-2.95.3 or gcc3. Minix is an a.out system, not elf, so pie will not work
60 because of the minix libc.
62 Check status of newlib, dietlibc, and others. Ssp should work, maybe pie too.
64 Testers with funky systems are needed. If you want to help please email me at:
65 cendres at videotron dot ca
69 * Thanks to the Open Source Community for everything.
70 * Thanks to Gnu for the GNU toolchain. http://www.gnu.org/
71 * Thanks to Hiroaki Etoh for providing the SSP patch to IBM
72 * Thanks to IBM for providing the SSP patch at
73 http://www.research.ibm.com/trl/projects/security/ssp/
74 * Thanks to Pappy and the Hardended Gentoo team for development,
75 testing, and patches. http://www.gentoo.org/proj/en/hardened/
76 * Thanks to the Pax team for kernel patch. http://pax.grsecurity.net/
77 * Thanks to Solar for docs http://dev.gentoo.org/~solar/pax/pie/
84 * Reformatted the patches so they're much easier to apply.
85 * Edit/rewrite hint & synopsis.
93 * GCC 2.95.3 patches made.
95 * XFree86-4.3.0 patch made.
96 * Hint is now Beta - Need more feedback.
99 * Reformatted patches.
103 * Add new example tests.
106 * Add homepage/mirror url.
109 * Added Glibc and kernel patches.
110 * Rewrote install procedure.
112 * Try to be more informative.
113 * Removed Gentoo property.
116 * Added new versions of binutils and glibc.
118 * Rename filename to winter.txt.
120 * Do not use "Enforce non-executable pages"
124 * Added LOPTS to Net-tools.
125 * Added LDFLAGS to Perl.
130 * Update gcc pie patch.
131 * Moved Libsafe and ProPolice to prolice.txt
132 * Added fpie to hgcc2.sh
134 * Add gnu_pt patches.
135 * Add ld -z relro support.
136 * Added relro and combreloc to hgcc3.sh
138 * Couple new patches, glibc bugfix
139 * Add propolice patch commands
140 * Boots with all PaX options now
141 * Cleanup - Fix urls/website
143 * Upgrade to gcc-3.3.3
144 * New auto patches. Hgcc is obsolete (I hope).
145 * Got textrel out of gcc.
147 * Plotted new goal of platform independence.