Commit Graph

1348 Commits

Author SHA1 Message Date
Thomas Trepl
72e10c9fc6 Add libxcrypt to ch5 2023-08-02 09:53:38 +02:00
Xi Ruoyao
7a8fcc3918
glibc: Remove sed and option unneeded with 2.38
--disable-crypt is now the default, and the security fix for 2.37 is
included.
2023-08-02 10:54:44 +08:00
Thomas Trepl
b8707993c4 Automatic merge of trunk into multilib 2023-07-04 00:30:16 +02:00
Xi Ruoyao
bbfb090d2a
glibc: Disable obsolete libcrypt implementation
I've not bothered to write an explanation for --disable-crypt because it
will likely be the default of Glibc-2.38, then we may drop it from the
command lines.
2023-06-30 03:19:20 +08:00
Thomas Trepl
48ac979ab4 Automatic merge of trunk into multilib 2023-06-06 00:30:09 +02:00
Xi Ruoyao
0f18f2b121
housekeeping after min-kernel bump
Update the rationale for min-kernel in hostreqs.  Add a note in
general.ent about the EOL of current min-kernel.  Realign the
backslashes in glibc instructions.
2023-06-05 23:20:48 +08:00
Thomas Trepl
7a51953cac Automatic merge of trunk into multilib 2023-05-02 05:36:43 +02:00
Bruce Dubbs
bd5b888ad3 Create new branch for gcc13 2023-04-27 10:01:17 -05:00
Thomas Trepl
607ca5a486 Automatic merge of trunk into multilib 2023-02-04 00:30:13 +01:00
Xi Ruoyao
c6c1a068b9
glibc: Remove a sed useless for 2.37 2023-02-02 15:47:05 +08:00
Thomas Trepl
a2434bd4c1 Automatic merge of trunk into multilib 2023-01-27 00:30:14 +01:00
Xi Ruoyao
139b77e4a2
decorate new note about $() and `` 2023-01-27 01:44:05 +08:00
Bruce Dubbs
adba2dae8a Add a comment about nested command substitution
"The command below shows an example of nested command substitution
 using two methods: backquotes and a $() construct. It could be
 rewritten using the same method for both substitutions, but is
 shown this way to demonstrate how they can be mixed. Generally
 the $() method is preferred."
2023-01-26 10:40:42 -06:00
Thomas Trepl
f0cbef54b1 Merge & fix conflicts 2022-11-23 10:45:41 +00:00
Xi Ruoyao
31e9ff9527
gcc-pass1: housekeeping after --disable-decimal-float removal 2022-11-23 00:58:21 +08:00
Xi Ruoyao
f01f8a56da
gcc: remove --disable-decimal-float from pass 1 and 2
We need to enable decimal float here or MPFR will be built w/o decimal
float support.  Then 2 of 183 tests will be skipped, and this will also
cause an ICA issue.

Q: Why we need decimal float in pass 1?
A: We need pass-1 GCC with decimal float support to build decimal float
routines in pass-2 libgcc.
2022-11-22 18:22:53 +08:00
Thomas Trepl (Moody)
8c586d262d Automatic merge of trunk into multilib 2022-11-01 06:50:58 +01:00
Xi Ruoyao
d45f50d26d
glibc: fix parallel build issue with make-4.4
We only need a one-line change in upstream fix (because we don't use
"make --shuffle").  Add it as a sed for both Chapter 5 and Chapter 8.

Note that the "minimal" sed would be '/MAEKFLAGS :=/s/r/ -r/'.  I
included an additional ')' so it won't modify "-r" again to "- -r".

Tested "make" and "make check" on a x86_64 with -j8 and an arm64 with
-j24.

Link: https://sourceware.org/git/?p=glibc.git;a=commit;h=2d7ed98add14
2022-11-01 11:05:05 +08:00
Thomas Trepl (Moody)
1a76da03d8 Automatic merge of trunk into multilib 2022-10-31 00:30:10 +01:00
David Bryant
f6820bb618 Corrected spelling here and there. Regularized capitaization of package
names, corrected idiom / punctuation, and removed extraneous verbiage.
2022-10-30 09:23:55 -05:00
Thomas Trepl (Moody)
e5de5d489f Automatic merge of trunk into multilib 2022-10-07 00:30:10 +02:00
Pierre Labastie
793f9087f1 Fix sanity check in chapter 5
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...
2022-10-06 09:07:42 +02:00
Thomas Trepl (Moody)
1835fca016 Adopt PIE/SSP changes 2022-09-13 10:07:14 +02:00
Thomas Trepl (Moody)
c49c1fb77f Automatic merge of trunk into multilib 2022-09-12 00:30:10 +02:00
Xi Ruoyao
e502de1ab0
gcc: some reword of PIE/SSP/ASLR note
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.
2022-09-11 11:35:06 +08:00
Thomas Trepl (Moody)
530771a7bb Automatic merge of trunk into multilib 2022-09-11 00:30:11 +02:00
Pierre Labastie
8d3b2541da gcc-pass1: fix bold "and" in command explanation 2022-09-10 14:01:42 +02:00
Pierre Labastie
1bade3f439 Document the --enable-default-pie/ssp options
Also document test failures in gcc chapter 8
2022-09-10 13:41:38 +02:00
Thomas Trepl (Moody)
3c20ad9381 Automatic merge of trunk into multilib 2022-09-10 00:30:10 +02:00
Pierre Labastie
0611f706d5 Use default-pie and default-ssp flags in gcc
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
2022-09-09 16:15:06 +02:00
Thomas Trepl (Moody)
b17c6b2bc7 Automatic merge of trunk into multilib 2022-09-01 00:30:10 +02:00
Pierre Labastie
51b7349a97 Remove all non header files in linux headers
Report by Joe Locash that a perl script was left in /usr/include
with our current instructions
2022-08-31 21:34:49 +02:00
Thomas Trepl (Moody)
d8c9a43f29 Automatic merge of trunk into multilib 2022-08-26 00:30:10 +02:00
Pierre Labastie
b3f157c685 Don't use dummy.c for glibc sanity check in chap 5
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
2022-08-25 09:24:58 +02:00
Thomas Trepl (Moody)
c84195d1f8 Automatic merge of trunk into multilib 2022-08-20 05:45:09 +02:00
Thomas Trepl (Moody)
8bde866e85 Fix binutils instructions 2022-08-19 18:55:20 +02:00
Xi Ruoyao
6099a47149
Remove libtool archive (.la) files in Chapter 5 and 6
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.
2022-08-19 12:41:48 +08:00
Thomas Trepl (Moody)
3ebe8768cc Merge upstream 2022-08-07 11:00:44 +02:00
Bruce Dubbs
1b11115cd2 Package updates.
Update to binutils-2.38.
Update to util-linux-2.38.1.
Update to Python3-3.10.6.
Update to glibc-2.36.
2022-08-06 17:40:17 -05:00
Thomas Trepl (Moody)
3a72ffa858 Adopt upstream changes 2022-05-11 08:56:48 +02:00
Xi Ruoyao
e1d233c8af
gcc-12: remove --enable-initfini-array in pass 1
Reference: https://gcc.gnu.org/r12-1328
2022-05-06 20:31:01 +08:00
Thomas Trepl (Moody)
caf32c82d6 Fix an old copy error 2022-04-17 22:22:21 +02:00
Thomas Trepl (Moody)
051c1608d9 Automatic merge of trunk into multilib 2022-03-25 05:45:09 +01:00
Bruce Dubbs
bcb20b4701 Speling 2022-03-24 12:11:57 -05:00
Thomas Trepl (Moody)
56f8a0097e Remove unused option 2022-03-20 11:29:11 +01:00
Thomas Trepl (Moody)
c24dafb886 Adjust parameter documentation 2022-03-19 14:21:35 +01:00
Thomas Trepl (Moody)
377270bda8 Fix changes in later gcc instructions 2022-03-19 13:06:54 +01:00
Thomas Trepl (Moody)
d9bec1e96a Automatic merge of trunk into multilib 2022-03-17 15:28:37 +01:00
Xi Ruoyao
459d4936ae
fix GCC PR100017 and enable libstdc++ for pass 2
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.
2022-02-27 23:36:55 +08:00
Thomas Trepl (Moody)
3b70f926ce Automatic merge of trunk into multilib 2022-02-19 05:45:14 +01:00
Xi Ruoyao
d6006ef769
relax host system requirements
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.
2022-02-19 10:29:47 +08:00
Bruce Dubbs
9904ecb1de Spelling/Typos 2022-02-18 14:49:40 -06:00
Thomas Trepl (Moody)
738a4c13cd Automatic merge of trunk into multilib 2022-02-16 05:45:10 +01:00
Xi Ruoyao
2cf3c176cf
break very long line 2022-02-15 15:45:00 +08:00
Xi Ruoyao
174d1bf948
libstdc++ pass 1: rephrase the explanation for --with-gxx-include-dir
I just received a private mail from some guy obviously puzzled by this
switch.  Expand the explanation a little to make it more clear.
2022-02-15 15:29:35 +08:00
Thomas Trepl (Moody)
3e09569e0d Automatic merge of trunk into multilib 2022-02-05 05:45:10 +01:00
Xi Ruoyao
bca4876ac5
Revert "binutils: use -j1 for make install"
This reverts commit 03a41fd0cd.

It's no longer needed after binutils-gdb commit "install dependencies for
ld -> bfd and libctf -> bfd" (755ba58e).
2022-02-04 17:55:05 +08:00
Thomas Trepl (Moody)
c4595c3bd1 Fix usage of ISL in gcc 2022-01-20 23:31:05 +01:00
Thomas Trepl (Moody)
7abb6a9fef Automatic merge of trunk into multilib 2021-12-03 05:45:10 +01:00
Xi Ruoyao
0fc98a07ff
gcc-pass1: set --with-glibc-version to target glibc version
"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.
2021-12-03 03:06:18 +08:00
Thomas Trepl (Moody)
a9fea2fb19 Automatic merge of trunk into multilib 2021-11-12 05:45:09 +01:00
Xi Ruoyao
0fc1b27b09
move the ln note back to chap 5 glibc
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.
2021-11-12 00:41:02 +08:00
Thomas Trepl (Moody)
716db1f765 Merge upstream 2021-09-20 09:37:34 +02:00
Bruce Dubbs
43b6ecdc1f Remove extra spaces 2021-09-15 11:24:27 -05:00
Pierre Labastie
a26f29f645 Remove spaces at end o lines - chapter05 2021-09-07 22:43:31 +02:00
Thomas Trepl (Moody)
0fd35e0640 Fix spacing 2021-08-25 09:41:21 +02:00
Pierre Labastie
763a00a98d Fix spacing of backslashes in binutils-pass1 2021-08-24 13:02:18 +02:00
Thomas Trepl (Moody)
66bfc2bb56 Automatic merge of trunk into multilib 2021-08-03 05:45:09 +02:00
Bruce Dubbs
9c7598cc15 Package updates.
Update to glibc-2.34.
Update to diffutils-3.8.
Update to libcap-2.52.
2021-08-02 20:52:40 -05:00
Thomas Trepl (Moody)
cfb8eeac69 Automatic merge of trunk into multilib 2021-07-22 05:45:08 +02:00
DJ Lucas
4eee9ccd08 Ensure that glibc installs ldconfig and sln to /usr/sbin. 2021-07-21 20:02:02 -05:00
Thomas Trepl (Moody)
30fb4c0470 Automatic merge of trunk into multilib 2021-05-18 08:09:10 +02:00
Xi Ruoyao
80838616e5
glibc: remove description of libc_cv_rtlddir for now 2021-05-16 02:28:22 +08:00
Thomas Trepl (Moody)
d4b521822c Merge 2021-05-15 07:57:13 +02:00
Xi Ruoyao
7f25c8447d
glibc: remove libc_cv_rtlddir override for now
Back to use the sed.  Need to investigate later.
2021-05-14 22:44:01 +08:00
Thomas Trepl (Moody)
1b1acbed65 Use /usr/lib for libc_cv_rtlddir 2021-05-14 12:54:44 +02:00
Thomas Trepl (Moody)
0ebda11158 Remove entities for multilib pathes
Add usage of libc_cv_rtlddir
2021-05-14 12:47:43 +02:00
Thomas Trepl (Moody)
f5c3bf6e7e Use a configuration option to set the loader pathes in ldd 2021-05-13 18:30:55 +02:00
Xi Ruoyao
7bf2e85ea6
glibc: fix ldd script 2021-05-13 23:28:16 +08:00
Thomas Trepl (Moody)
3de7f52194 Fix some pathes in glibc 2021-05-12 18:24:06 +02:00
Thomas Trepl (Moody)
df462a9511 Merge pre-LFS-11-0 changes 2021-05-12 07:26:46 +02:00
Douglas R. Reno
d7a942197e Merge Xi's changes into trunk
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!
2021-05-11 23:24:11 -05:00
Thomas Trepl
ceebda5df5
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12176 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
4c8c1288b8
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12142 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:41 +08:00
Thomas Trepl
38de42d0ed
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12072 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
d7e0db5ccd
Merge changes from trunk to multilib
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12034 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:40 +08:00
Thomas Trepl
6dfcfecca3
Update to new lfs structure
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11986 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
6451cd1e10
MultiLib: Merge changes up to 11872
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11879 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:39 +08:00
Thomas Trepl
e37764e832
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11821 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
630308d8e5
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11801 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
ff4f25b501
Readd lost statement
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11795 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:38 +08:00
Thomas Trepl
939f5316e0
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11792 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
c7e74d668b
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11783 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
6fc519eba0
Updates after 9.1 release
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11766 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
e2ccc32118
Merge upstream; Upgrade isl+firmware; add description to glibc
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11759 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
43822ccfaa
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11757 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
725ef3bb00
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11747 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:37 +08:00
Thomas Trepl
3ca4306ac6
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11712 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
9c31d62ebd
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11687 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00
Thomas Trepl
0aaf6a318a
MultiLib: Merge changes from trunk
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11681 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2021-03-31 18:41:36 +08:00