aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/gcc-pass1.xml
Commit message (Collapse)AuthorAgeFilesLines
* gcc: some reword of PIE/SSP/ASLR noteXi Ruoyao2022-09-111-5/+5
| | | | | | | | | | | | | | Expand tabs to 8 spaces like everywhere else in the book. Explain that shared libraries are already covered by ASLR, PIE expands the ASLR to cover the exetutables. In 2022, stack smashing attackings are mostly constructing a sequence of faked returning addresses to exectute a series of function already existing in the programs or libraries itself (ret2lib). Returning into the code injected by the attacker is almost impossible because on i686 (with a PAE/NX enabled kernel) or x86_64, running injected code needs W/X mappings and those are very rare these days.
* gcc-pass1: fix bold "and" in command explanationPierre Labastie2022-09-101-2/+2
|
* Document the --enable-default-pie/ssp optionsPierre Labastie2022-09-101-0/+14
| | | | Also document test failures in gcc chapter 8
* Use default-pie and default-ssp flags in gccPierre Labastie2022-09-091-0/+2
| | | | | | | | Committing only the commands for now, so that others can test the build. TODO: - add command explanations - add changelog - comment on failing tests in binutils and gcc
* gcc-12: remove --enable-initfini-array in pass 1Xi Ruoyao2022-05-061-10/+0
| | | | Reference: https://gcc.gnu.org/r12-1328
* relax host system requirementsXi Ruoyao2022-02-191-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | A requirement on Glibc is not needed at all. It's enough once $LFS_TGT-* is runnable. A test on Alpine (using musl as libc) has practically proved this. We'd raised binutils and GCC requirements mostly for Glibc. But now Glibc is cross compiled by our cross toolchain with latest GCC and binutils release, the host tools really does not matter. In the Glibc building process only two .c files are build with BUILD_CC (the C compiler from the host), and they are highly conservative (mostly unchanged for years). Binutils does not have too much requirement on host GCC & Binutils: there is even a Binutils commit in this week fixing a build failure with GCC-4.2! So the most strict limitation comes from GCC. GCC requires host GCC to support ISO C++ 11 so GCC >= 4.8 is needed. And both GCC-4.8 and latest GCC-11.2 claims a requirement for Binutils-2.12 (for x86_64) or 2.13.1 (for 32-bit x86), so we make minimal Binutils version 2.13.1. And, host bzip2 is never used now: the only .tar.bz2 files are elfutils and python docs. They are not decompressed before entering chroot.
* Spelling/TyposBruce Dubbs2022-02-181-1/+1
|
* gcc-pass1: set --with-glibc-version to target glibc versionXi Ruoyao2021-12-031-5/+8
| | | | | | | | | | | | | | | | | | "info gccinstall" says: '--with-glibc-version=MAJOR.MINOR' Tell GCC that when the GNU C Library (glibc) is used on the target it will be version MAJOR.MINOR or later. Normally this can be detected from the C library's header files, but this option may be needed when bootstrapping a cross toolchain without the header files available for building the initial bootstrap compiler. So it can, and should be set to the version of glibc which will be built for the chroot environment. On x86_64, currently it does not make any difference with values >= 2.13. But it may make a difference if a new feature is added to glibc, or on other platforms.
* Remove extra spacesBruce Dubbs2021-09-151-19/+19
|
* Remove spaces at end o lines - chapter05Pierre Labastie2021-09-071-3/+3
|
* - fix some gcc->GCCPierre Labastie2020-06-131-1/+1
| | | | | | - remove commented text in glibc (chap 5), and fix a directory location git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11934 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Rename package entities to be independent of chapter numberingThomas Trepl2020-06-111-2/+2
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11921 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Text updates for cross2 Chapter 5Bruce Dubbs2020-06-091-12/+21
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11914 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Initial commit of alternative cross LFSBruce Dubbs2020-06-071-1/+1
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11897 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Make the new bookPierre Labastie2020-05-031-97/+23
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross-chap5@11831 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* TypoBruce Dubbs2020-03-281-1/+1
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11799 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* LFS-9.1Bruce Dubbs2020-02-291-1/+1
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11762 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Explain with-glibc-version in gcc pass 1Bruce Dubbs2020-02-171-0/+9
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11753 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Cleanup after the --disable-libmpx instruction removal in GCC. This required ↵Douglas R. Reno2019-05-111-2/+2
| | | | | | changes to GCC Pass 1 (CH5) and the main GCC page (CH6) git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11600 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Remove useless option in GCC (pass 1 and final)Xi Ruoyao2019-05-081-1/+0
| | | | | | | | | In GCC 9.1 release libmpx has been removed. So --disable-libmpx is no longer needed. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11594 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Change <productname> tags so that they reflect the dbhtml processingPierre Labastie2019-04-101-1/+1
| | | | | | instruction git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11574 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update description/rationale for Libstdc++ in Chapter 5Bruce Dubbs2018-06-201-1/+1
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11424 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Typos and wording changesBruce Dubbs2017-12-281-7/+9
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11343 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Fix description of commands in gcc pass1.DJ Lucas2017-03-111-4/+3
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11206 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update to gcc-6.3.0. Bruce Dubbs2016-12-211-1/+1
| | | | | | | | | | | | | Update to gmp-6.1.2. Update to iproute2-4.9.0. Update to man-pages-4.09. Update to man-db-2.7.6.1. Update to linux-4.9. Update to eudev-3.2.1. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11157 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Merge nosym branch.DJ Lucas2016-12-171-3/+13
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11154 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Create branches/merge in svn repo fo rtesting of merged LFS booksBruce Dubbs2016-05-241-1/+1
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/merge@11073 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Updated to file-5.26, gcc-6.1.0, grep-2.25, gzip-1.8, linux-4.5.2 and ↵Krejzi2016-04-281-3/+5
| | | | | | tzdata-2016d. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11049 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Move external build directories into dedicated build directories inside theBruce Dubbs2016-01-271-5/+5
| | | | | | | | source tree for binutils, gcc, and glibc. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10991 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update to tzdata-2015e.Bruce Dubbs2015-06-241-13/+7
| | | | | | | | | | Update to eudev-3.1.2. Update to mpfr-3.1.3. Update to linux-4.1. Simplify gcc-pass1 instructions. Thanks to Pierre Labastie for the patch. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10918 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Fixed backslash alignments.Krejzi2015-04-201-23/+23
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10893 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Adjust discussion of LFS envronment variable to be before first use.Bruce Dubbs2015-03-311-1/+4
| | | | | | | | Use --with-glibc-version=2.11 in gcc-pass1. Update to dejagnu-1.5.3. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10886 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update to gcc-4.9.2Bruce Dubbs2014-10-311-2/+2
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10786 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Remove redundant wording when checking toolchain values.Bruce Dubbs2014-08-151-2/+2
| | | | | | | | Reword bootscripts README file. Remove reference to mudflap git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10693 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Intermediate commit to test a change to gcc.Bruce Dubbs2014-08-031-0/+4
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10672 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Updated command explanatations for GCC Pass 1Chris Staub2014-07-031-5/+6
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10623 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Remove unneeded confiugure switches from gcc.Bruce Dubbs2014-05-201-13/+1
| | | | | | | Restore installation of udev-lfs support files. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10567 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Remove unneeded symlink in gcc-pass1.Bruce Dubbs2014-04-251-3/+3
| | | | | | | Update to util-linux-2.24.2. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10552 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update to gcc-4.9Bruce Dubbs2014-04-251-0/+2
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10550 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update to linux-3.14Bruce Dubbs2014-04-081-4/+4
| | | | | | | | | | | | | Update to file-5.18 Update to flex-2.5.39 Update to GMP-6.0.0a Update to libpipeline-1.3.0 Update to man-pages-3.64 Update to systemd-212 Update to udev-lfs-20140408 git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10532 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Add description of GCC's --enable-mpfr switches.Matthew Burgess2013-11-231-0/+8
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10380 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Fix the alignment of some command continuation constructs.Matthew Burgess2013-03-291-22/+22
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10233 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Remove instructions to prevent the building of GCC's info files.Matthew Burgess2013-03-291-5/+0
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10228 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Upgrade to GCC-4.8.0. Fixes #3312.Matthew Burgess2013-03-281-8/+16
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10220 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update to texinfo-5.0 and linux-3.7.9.Bruce Dubbs2013-02-181-0/+5
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10162 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Update udev explanation.Bruce Dubbs2012-10-021-1/+1
| | | | | | | Be consistent with ln options. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10015 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Upgrade to Glibc-2.16.0. Fixes #3131.Matthew Burgess2012-08-051-0/+6
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9922 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Upgrade to MPFR-3.1.1. Fixes #3133.Matthew Burgess2012-07-131-1/+1
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9903 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Merge changes developed and tested in the jh branchBruce Dubbs2012-04-251-11/+83
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9831 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
* Remove GCC's cross-compile patch as it isn't required.Matthew Burgess2012-03-141-13/+5
| | | | git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9778 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689