| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
When I changed the sanity check to remove the "dummy.c" file, I
inadvertently used "gcc" instead of "$LFS_TGT-gcc". Which of course
finds the host gcc...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Also document test failures in gcc chapter 8
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Report by Joe Locash that a perl script was left in /usr/include
with our current instructions
|
|
|
|
|
|
|
|
| |
It seems glibc creates dummy.c for its own use. This leaves some
dummy.xxx files in the directory, that may lead some users to think that
the directory is not properly cleaned up after the test (I did :)
So use a pipe so that only a.out is created
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They are really harmful. In Binutils pass 2, libstdc++.la caused the
building system to use host /usr/lib/libstdc++.so for gprofng. We now
has disabled gprofng for pass 2, but the similar issue also exists in
GCC pass 2. In a normal LFS build, the building system silently uses
/usr/lib/libstdc++.so (I guess it does not blow up simply because some
blind luck); in a real cross build (x86 -> ARM for example) the build
will fail.
Remove the .la files to fix this issue. Instead of only modifying
clfs-ng, it makes more sense to apply the change for trunk: though
the build does not fail, using host library is still a contamination.
|
|
|
|
|
|
|
| |
Update to binutils-2.38.
Update to util-linux-2.38.1.
Update to Python3-3.10.6.
Update to glibc-2.36.
|
|
|
|
| |
Reference: https://gcc.gnu.org/r12-1328
|
| |
|
|
|
|
|
|
|
|
|
| |
This is the issue preventing us from cross-compiling libstdc++ in
Chapter 6. By fixing this issue we can remove a seperate pass 2 for
libstdc++ and simplify the instruction.
The upstream fix will be released in 11.3 and 12.0, so we can remove the
first sed upgrading gcc next time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
I just received a private mail from some guy obviously puzzled by this
switch. Expand the explanation a little to make it more clear.
|
|
|
|
|
|
|
| |
This reverts commit 03a41fd0cd6635843d313c02150692a05d6b8bd2.
It's no longer needed after binutils-gdb commit "install dependencies for
ld -> bfd and libctf -> bfd" (755ba58e).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"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.
|
|
|
|
|
|
| |
It was moved to chapter 4 during merged-/usr update. However the ln
commands in chapater 4 are "trivial", so move it back to chapter 5 glibc
where we start to use a "different syntactic version" of it.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Update to glibc-2.34.
Update to diffutils-3.8.
Update to libcap-2.52.
|
| |
|
| |
|
|
|
|
| |
Back to use the sed. Need to investigate later.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update to meson-0.58.0
Update to systemd-248
Update to gcc-11.1.0
Update to linux-5.12.1
Update to iproute2-5.12.0
Update to Python-3.9.5
Make /bin, /sbin, and /lib symlinks to their counterparts in /usr.
Thanks again for a significant portion of this work goes to Xi, I only
really merged it and made a couple of modifications for my updates. To
LFS 11.x we go!
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12169 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12168 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12166 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12133 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12071 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12032 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11964 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
|
|
| |
appear separated. Minor rewrites for accounting for the new layout
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11949 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11942 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11925 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
|
|
|
|
| |
There are a couple of minor command changes.
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11924 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11921 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11914 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11907 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11906 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11900 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11899 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11897 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|
|
|
|
| |
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross-chap5@11885 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
|