diff options
author | Krejzi <krejzi@linuxfromscratch.org> | 2015-04-24 00:00:34 +0000 |
---|---|---|
committer | Krejzi <krejzi@linuxfromscratch.org> | 2015-04-24 00:00:34 +0000 |
commit | 47f42fadbd7fe1fbf9ceee6cd5e6d305763df449 (patch) | |
tree | 20e398858f2f9a91940e8039de3ed75f27f94ddf | |
parent | 50bb87d1862a4b97fc3b180639143fb21ba24810 (diff) |
Updated to GCC-5.1.0.
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd@10901 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r-- | chapter01/changelog.xml | 22 | ||||
-rw-r--r-- | chapter01/whatsnew.xml | 12 | ||||
-rw-r--r-- | chapter03/patches.xml | 18 | ||||
-rw-r--r-- | chapter05/glibc.xml | 13 | ||||
-rw-r--r-- | chapter05/libstdc++.xml | 3 | ||||
-rw-r--r-- | chapter05/ncurses.xml | 5 | ||||
-rw-r--r-- | chapter06/glibc.xml | 24 | ||||
-rw-r--r-- | chapter06/ncurses.xml | 5 | ||||
-rw-r--r-- | chapter06/perl.xml | 9 | ||||
-rw-r--r-- | general.ent | 4 | ||||
-rw-r--r-- | packages.ent | 24 | ||||
-rw-r--r-- | patches.ent | 12 |
12 files changed, 104 insertions, 47 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b5287b5b0..c82825e3f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -37,6 +37,28 @@ --> <listitem> + <para>2015-04-24</para> + <itemizedlist> + <listitem> + <para>[krejzi] - Added a fix for security issue + in Glibc (CVE-2015-1781). Thanks to Ken Moffat + for bringing it up and Bruce Dubbs for providing + the fix in form of a sed.</para> + </listitem> + <listitem> + <para>[krejzi] - Fixed Ncurses and Perl build + with GCC 5. Thanks to Ken Moffat and Douglas + R. Reno for providing the patches.</para> + </listitem> + <listitem> + <para>[krejzi] - Updated to GCC-5.1.0. Fixes + <ulink url="&lfs-ticket-root;3779">#3779</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + + + <listitem> <para>2015-04-21</para> <itemizedlist> <listitem> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 6a6f2af96..0500b8cb7 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -85,9 +85,9 @@ <!--<listitem> <para>Gawk &gawk-version;</para> </listitem>--> - <!--<listitem> + <listitem> <para>GCC &gcc-version;</para> - </listitem>--> + </listitem> <!--<listitem> <para>GDBM &gdbm-version;</para> </listitem>--> @@ -242,6 +242,14 @@ <para>Tcl-core-&tcl-version;</para> </listitem> + <listitem> + <para>&ncurses-gcc5-buildfixes-patch;</para> + </listitem> + + <listitem> + <para>&perl-gcc5-fixes-patch;</para> + </listitem> + <!--<listitem> <para>&bash-fixes-patch;</para> </listitem>--> diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 767e05e45..0e3a58984 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -123,15 +123,23 @@ <para>MD5 sum: <literal>&mpfr-fixes-patch-md5;</literal></para> </listitem> </varlistentry> -<!-- + <varlistentry> - <term>Perl Data::Dumper Patch - <token>&perl-fix-patch-size;</token>:</term> + <term>Ncurses GCC 5 Fixes Patch - <token>&ncurses-gcc5-buildfixes-patch-size;</token>:</term> <listitem> - <para>Download: <ulink url="&patches-root;&perl-fix-patch;"/></para> - <para>MD5 sum: <literal>&perl-fix-patch-md5;</literal></para> + <para>Download: <ulink url="&patches-root;&ncurses-gcc5-buildfixes-patch;"/></para> + <para>MD5 sum: <literal>&ncurses-gcc5-buildfixes-patch-md5;</literal></para> </listitem> </varlistentry> ---> + + <varlistentry> + <term>Perl GCC 5 Fixes Patch - <token>&perl-gcc5-fixes-patch-size;</token>:</term> + <listitem> + <para>Download: <ulink url="&patches-root;&perl-gcc5-fixes-patch;"/></para> + <para>MD5 sum: <literal>&perl-gcc5-fixes-patch-md5;</literal></para> + </listitem> + </varlistentry> + <varlistentry> <term>Readline Upstream Fixes Patch - <token>&readline-fixes-patch-size;</token>:</term> <listitem> diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 974a7292f..9916b4fb2 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -43,6 +43,7 @@ <sect2 role="installation"> <title>Installation of Glibc</title> +<!-- The enable-obsolete-rpc should handle this just fine. <para>In some cases, particularly LFS 7.1, the rpc headers were not installed properly. Test to see if they are installed in the host system and install if they are not:</para> @@ -51,7 +52,7 @@ su -c 'mkdir -pv /usr/include/rpc' su -c 'cp -v sunrpc/rpc/*.h /usr/include/rpc' fi</userinput></screen> - +--> <para>Fix a regression in the package that affects 32-bit architectures:</para> <screen><userinput remap="pre">sed -e '/ia32/s/^/1:/' \ @@ -87,6 +88,7 @@ esac</userinput></screen> --build=$(../glibc-&glibc-version;/scripts/config.guess) \ --disable-profile \ --enable-kernel=&min-kernel; \ + --enable-obsolete-rpc \ --with-headers=/tools/include \ libc_cv_forced_unwind=yes \ libc_cv_ctors_header=yes \ @@ -122,6 +124,15 @@ esac</userinput></screen> </varlistentry> <varlistentry> + <term><parameter>--enable-obsolete-rpc</parameter></term> + <listitem> + <para>This installs NIS and RPC related headers that are not + installed by default. They are required to build GCC and by + several BLFS packages.</para> + </listitem> + </varlistentry> + + <varlistentry> <term><parameter>--with-headers=/tools/include</parameter></term> <listitem> <para>This tells Glibc to compile itself against the headers recently diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml index 9af130f4b..29d7f2739 100644 --- a/chapter05/libstdc++.xml +++ b/chapter05/libstdc++.xml @@ -50,7 +50,7 @@ <para>Create a directory for Libstdc++ and enter it:</para> -<screen><userinput remap="pre">mkdir -pv ../gcc-build +<screen><userinput remap="pre">mkdir -v ../gcc-build cd ../gcc-build</userinput></screen> <para>Prepare Libstdc++ for compilation:</para> @@ -59,7 +59,6 @@ cd ../gcc-build</userinput></screen> --host=$LFS_TGT \ --prefix=/tools \ --disable-multilib \ - --disable-shared \ --disable-nls \ --disable-libstdcxx-threads \ --disable-libstdcxx-pch \ diff --git a/chapter05/ncurses.xml b/chapter05/ncurses.xml index a18a9c819..336172b59 100644 --- a/chapter05/ncurses.xml +++ b/chapter05/ncurses.xml @@ -43,6 +43,11 @@ <sect2 role="installation"> <title>Installation of Ncurses</title> + <para>First, apply a patch to prevent a build failure + when building with GCC 5:</para> + +<screen><userinput remap="pre">patch -Np1 -i ../&ncurses-gcc5-buildfixes-patch;</userinput></screen> + <para>Prepare Ncurses for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/tools \ diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml index 4eff24af1..98b364f7f 100644 --- a/chapter06/glibc.xml +++ b/chapter06/glibc.xml @@ -74,6 +74,16 @@ -e '/SSE2/s/^1://' \ -i sysdeps/i386/i686/multiarch/mempcpy_chk.S</userinput></screen> + <para>Fix a potential security issue identified upstream:</para> + +<screen><userinput remap="pre">sed -i '/glibc.*pad/{i\ buflen = buflen > pad ? buflen - pad : 0; + s/ + pad//}' resolv/nss_dns/dns-host.c</userinput></screen> + + <para>Fix a test case that fails when built using GCC 5:</para> + +<screen><userinput remap="pre">sed -e '/tst-audit2-ENV/i CFLAGS-tst-audit2.c += -fno-builtin' \ + -i elf/Makefile</userinput></screen> + <para>The Glibc documentation recommends building Glibc outside of the source directory in a dedicated build directory:</para> @@ -88,20 +98,6 @@ cd ../glibc-build</userinput></screen> --enable-kernel=&min-kernel; \ --enable-obsolete-rpc</userinput></screen> - <variablelist> - <title>The meaning of the new configure options:</title> - - <varlistentry> - <term><parameter>--enable-obsolete-rpc</parameter></term> - <listitem> - <para>Installs NIS and RPC related headers that are not installed by - default; these are required to rebuild Glibc and by several BLFS - packages.</para> - </listitem> - </varlistentry> - - </variablelist> - <para>Compile the package:</para> <screen><userinput remap="make">make</userinput></screen> diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 70aca29fe..c82bfa5e0 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -41,6 +41,11 @@ <sect2 role="installation"> <title>Installation of Ncurses</title> + <para>First, apply a patch to prevent a build failure + when building with GCC 5:</para> + +<screen><userinput remap="pre">patch -Np1 -i ../&ncurses-gcc5-buildfixes-patch;</userinput></screen> + <para>Don't install a static library that is not handled by configure:</para> <screen><userinput remap="pre">sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in</userinput></screen> diff --git a/chapter06/perl.xml b/chapter06/perl.xml index 35de645ba..6ace9d861 100644 --- a/chapter06/perl.xml +++ b/chapter06/perl.xml @@ -55,11 +55,12 @@ <screen><userinput remap="pre">export BUILD_ZLIB=False export BUILD_BZIP2=0</userinput></screen> -<!-- - <para>Fix a potential security problem:</para> -<screen><userinput remap="pre">patch -Np1 -i ../&perl-fix-patch;</userinput></screen> ---> + <para>Apply a patch to allow the Errno.pm module and the h2ph + program to build correctly when building with GCC 5:</para> + +<screen><userinput remap="pre">patch -Np1 -i ../&perl-gcc5-fixes-patch;</userinput></screen> + <para>To have full control over the way Perl is set up, you can remove the <quote>-des</quote> options from the following command and hand-pick the way this package is built. Alternatively, use the command exactly as below to diff --git a/general.ent b/general.ent index ab7b4197f..6eebb2cdc 100644 --- a/general.ent +++ b/general.ent @@ -1,6 +1,6 @@ -<!ENTITY version "20150420-systemd"> +<!ENTITY version "20150424-systemd"> <!ENTITY short-version "systemd"> <!-- Used in dbus chapter, change to x.y for release --> -<!ENTITY releasedate "April 20, 2015"> +<!ENTITY releasedate "April 24, 2015"> <!ENTITY copyrightdate "1999-2015"><!-- jhalfs needs a literal dash, not – --> <!ENTITY milestone "7.8"> <!ENTITY generic-version "systemd"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> diff --git a/packages.ent b/packages.ent index fc9cec5d1..2031bc2de 100644 --- a/packages.ent +++ b/packages.ent @@ -197,20 +197,20 @@ <!ENTITY gawk-ch6-du "39 MB"> <!ENTITY gawk-ch6-sbu "0.3 SBU"> -<!ENTITY gcc-version "4.9.2"> -<!ENTITY gcc-size "87,832 KB"> +<!ENTITY gcc-version "5.1.0"> +<!ENTITY gcc-size "92,736 KB"> <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2"> -<!ENTITY gcc-md5 "4df8ee253b7f3863ad0b86359cd39c43"> +<!ENTITY gcc-md5 "d5525b1127d07d215960e6051c5da35e"> <!ENTITY gcc-home "http://gcc.gnu.org/"> -<!ENTITY gcc-ch5p1-du "2.0 GB"> -<!ENTITY gcc-ch5p1-sbu "5.9 SBU"> -<!ENTITY gcc-ch5p2-du "2.6 GB"> -<!ENTITY gcc-ch5p2-sbu "7.7 SBU"> -<!ENTITY gcc-ch6-du "2.9 GB "> -<!ENTITY gcc-ch6-sbu "63 SBU (with tests)"> - -<!ENTITY libstdcpp-ch5-du "798 MB"> -<!ENTITY libstdcpp-ch5-sbu "0.3 SBU"> +<!ENTITY gcc-ch5p1-du "2.4 GB"> +<!ENTITY gcc-ch5p1-sbu "8.0 SBU"> +<!ENTITY gcc-ch5p2-du "2.8 GB"> +<!ENTITY gcc-ch5p2-sbu "10.2 SBU"> +<!ENTITY gcc-ch6-du "2.6 GB "> +<!ENTITY gcc-ch6-sbu "92 SBU (with tests)"> + +<!ENTITY libstdcpp-ch5-du "838 MB"> +<!ENTITY libstdcpp-ch5-sbu "0.4 SBU"> <!ENTITY gdbm-version "1.11"> <!ENTITY gdbm-size "796 KB"> diff --git a/patches.ent b/patches.ent index a34bf4b3e..e2548a519 100644 --- a/patches.ent +++ b/patches.ent @@ -30,11 +30,13 @@ <!ENTITY mpfr-fixes-patch-md5 "5ba8bafe42920d6e570567529629bc59"> <!ENTITY mpfr-fixes-patch-size "38 KB"> -<!-- -<!ENTITY perl-fix-patch "perl-&perl-version;-infinite_recurse_fix-1.patch"> -<!ENTITY perl-fix-patch-md5 "579dfed34e97e0a2fe21b74aa53946ac"> -<!ENTITY perl-fix-patch-size "11 KB"> ---> +<!ENTITY ncurses-gcc5-buildfixes-patch "ncurses-&ncurses-version;-gcc5_buildfixes-1.patch"> +<!ENTITY ncurses-gcc5-buildfixes-patch-md5 "f9015f670940350a3fc3c2ef347e2b33"> +<!ENTITY ncurses-gcc5-buildfixes-patch-size "4 KB"> + +<!ENTITY perl-gcc5-fixes-patch "perl-&perl-version;-gcc5_fixes-1.patch"> +<!ENTITY perl-gcc5-fixes-patch-md5 "30f4907f63ec3ef7d50fa55e12d2923e"> +<!ENTITY perl-gcc5-fixes-patch-size "8 KB"> <!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch"> <!ENTITY readline-fixes-patch-md5 "6b0d9f4e79319d56a7fee9b35e5cfd1b"> |