Update lfs-uefi.txt
[linux_from_scratch_hints.git] / winter.txt
blobbb88311f9a5f6afe6a6da74c2d6e87759ecbc011
1 AUTHOR: Robert Connolly <cendres at videotron dot ca> (ashes)
3 DATE:   2004-03-29
5 LICENSE:        Public Domain
7 SYNOPSIS:       Hardened cross compiling
9 PRIMARY URL:    http://www.linuxfromscratch.org/~robert/winter/
11 DESCRIPTION:
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/
15 Also see:
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:
24 http://gcc.gnu.org/
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.
31 PREREQUISITES: none
33 HINT:
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
36 platforms.
38  - NetBSD
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.
46  - FreeBSD
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
51  - Todo & Misc
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
67 ACKNOWLEDGMENTS:
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/
79 CHANGELOG:
80 [2003-10-18]
81 * Debut
82 * Reformat hint
83 [2003-10-22]
84 * Reformatted the patches so they're much easier to apply.
85 * Edit/rewrite hint & synopsis.
86 [2003-10-24]
87 * Added caveat.
88 * Fixed URLS.
89 * Lite edit
90 [2003-10-25]
91 * New bugs found.
92 [2003-10-26]
93 * GCC 2.95.3 patches made.
94 [2003-10-27]
95 * XFree86-4.3.0 patch made.
96 * Hint is now Beta - Need more feedback.
97 [2003-11-03]
98 * Edit
99 * Reformatted patches.
100 [2003-11-12]
101 * Reformat patches.
102 * Update/edit hint.
103 * Add new example tests.
104 [2003-11-21]
105 * Reformat patches.
106 * Add homepage/mirror url.
107 * Small edit.
108 [2003-12-01]
109 * Added Glibc and kernel patches.
110 * Rewrote install procedure.
111 [2003-12-20]
112 * Try to be more informative.
113 * Removed Gentoo property.
114 * Added Libsafe.
115 * Added Pax.
116 * Added new versions of binutils and glibc.
117 * Added GCC PIE.
118 * Rename filename to winter.txt.
119 [2003-12-21]
120 * Do not use "Enforce non-executable pages"
121 * Spell check.
122 * Fixed URL.
123 [2003-12-22]
124 * Added LOPTS to Net-tools.
125 * Added LDFLAGS to Perl.
126 [2003-12-25]
127 * More cflags.
128 * New tests.
129 [2004-02-02]
130 * Update gcc pie patch.
131 * Moved Libsafe and ProPolice to prolice.txt
132 * Added fpie to hgcc2.sh
133 [2004-02-03]
134 * Add gnu_pt patches.
135 * Add ld -z relro support.
136 * Added relro and combreloc to hgcc3.sh
137 [2004-02-08]
138 * Couple new patches, glibc bugfix
139 * Add propolice patch commands
140 * Boots with all PaX options now
141 * Cleanup - Fix urls/website
142 [2004-02-08]
143 * Upgrade to gcc-3.3.3
144 * New auto patches. Hgcc is obsolete (I hope).
145 * Got textrel out of gcc.
146 [2004-03-29]
147 * Plotted new goal of platform independence.