Updated to GCC-5.1.0.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd@10901 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Krejzi 2015-04-24 00:00:34 +00:00
parent 50bb87d186
commit 47f42fadbd
12 changed files with 103 additions and 46 deletions

View File

@ -36,6 +36,28 @@
</listitem> </listitem>
--> -->
<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> <listitem>
<para>2015-04-21</para> <para>2015-04-21</para>
<itemizedlist> <itemizedlist>

View File

@ -85,9 +85,9 @@
<!--<listitem> <!--<listitem>
<para>Gawk &gawk-version;</para> <para>Gawk &gawk-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>GCC &gcc-version;</para> <para>GCC &gcc-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>GDBM &gdbm-version;</para> <para>GDBM &gdbm-version;</para>
</listitem>--> </listitem>-->
@ -242,6 +242,14 @@
<para>Tcl-core-&tcl-version;</para> <para>Tcl-core-&tcl-version;</para>
</listitem> </listitem>
<listitem>
<para>&ncurses-gcc5-buildfixes-patch;</para>
</listitem>
<listitem>
<para>&perl-gcc5-fixes-patch;</para>
</listitem>
<!--<listitem> <!--<listitem>
<para>&bash-fixes-patch;</para> <para>&bash-fixes-patch;</para>
</listitem>--> </listitem>-->

View File

@ -123,15 +123,23 @@
<para>MD5 sum: <literal>&mpfr-fixes-patch-md5;</literal></para> <para>MD5 sum: <literal>&mpfr-fixes-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<!--
<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> <listitem>
<para>Download: <ulink url="&patches-root;&perl-fix-patch;"/></para> <para>Download: <ulink url="&patches-root;&ncurses-gcc5-buildfixes-patch;"/></para>
<para>MD5 sum: <literal>&perl-fix-patch-md5;</literal></para> <para>MD5 sum: <literal>&ncurses-gcc5-buildfixes-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </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> <varlistentry>
<term>Readline Upstream Fixes Patch - <token>&readline-fixes-patch-size;</token>:</term> <term>Readline Upstream Fixes Patch - <token>&readline-fixes-patch-size;</token>:</term>
<listitem> <listitem>

View File

@ -43,6 +43,7 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Glibc</title> <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 <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 installed properly. Test to see if they are installed in the host system
and install if they are not:</para> and install if they are not:</para>
@ -51,7 +52,7 @@
su -c 'mkdir -pv /usr/include/rpc' su -c 'mkdir -pv /usr/include/rpc'
su -c 'cp -v sunrpc/rpc/*.h /usr/include/rpc' su -c 'cp -v sunrpc/rpc/*.h /usr/include/rpc'
fi</userinput></screen> fi</userinput></screen>
-->
<para>Fix a regression in the package that affects 32-bit architectures:</para> <para>Fix a regression in the package that affects 32-bit architectures:</para>
<screen><userinput remap="pre">sed -e '/ia32/s/^/1:/' \ <screen><userinput remap="pre">sed -e '/ia32/s/^/1:/' \
@ -87,6 +88,7 @@ esac</userinput></screen>
--build=$(../glibc-&glibc-version;/scripts/config.guess) \ --build=$(../glibc-&glibc-version;/scripts/config.guess) \
--disable-profile \ --disable-profile \
--enable-kernel=&min-kernel; \ --enable-kernel=&min-kernel; \
--enable-obsolete-rpc \
--with-headers=/tools/include \ --with-headers=/tools/include \
libc_cv_forced_unwind=yes \ libc_cv_forced_unwind=yes \
libc_cv_ctors_header=yes \ libc_cv_ctors_header=yes \
@ -121,6 +123,15 @@ esac</userinput></screen>
</listitem> </listitem>
</varlistentry> </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> <varlistentry>
<term><parameter>--with-headers=/tools/include</parameter></term> <term><parameter>--with-headers=/tools/include</parameter></term>
<listitem> <listitem>

View File

@ -50,7 +50,7 @@
<para>Create a directory for Libstdc++ and enter it:</para> <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> cd ../gcc-build</userinput></screen>
<para>Prepare Libstdc++ for compilation:</para> <para>Prepare Libstdc++ for compilation:</para>
@ -59,7 +59,6 @@ cd ../gcc-build</userinput></screen>
--host=$LFS_TGT \ --host=$LFS_TGT \
--prefix=/tools \ --prefix=/tools \
--disable-multilib \ --disable-multilib \
--disable-shared \
--disable-nls \ --disable-nls \
--disable-libstdcxx-threads \ --disable-libstdcxx-threads \
--disable-libstdcxx-pch \ --disable-libstdcxx-pch \

View File

@ -43,6 +43,11 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Ncurses</title> <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> <para>Prepare Ncurses for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/tools \ <screen><userinput remap="configure">./configure --prefix=/tools \

View File

@ -74,6 +74,16 @@
-e '/SSE2/s/^1://' \ -e '/SSE2/s/^1://' \
-i sysdeps/i386/i686/multiarch/mempcpy_chk.S</userinput></screen> -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 <para>The Glibc documentation recommends building Glibc outside of the source
directory in a dedicated build directory:</para> directory in a dedicated build directory:</para>
@ -88,20 +98,6 @@ cd ../glibc-build</userinput></screen>
--enable-kernel=&min-kernel; \ --enable-kernel=&min-kernel; \
--enable-obsolete-rpc</userinput></screen> --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> <para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>

View File

@ -41,6 +41,11 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Ncurses</title> <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> <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> <screen><userinput remap="pre">sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in</userinput></screen>

View File

@ -55,11 +55,12 @@
<screen><userinput remap="pre">export BUILD_ZLIB=False <screen><userinput remap="pre">export BUILD_ZLIB=False
export BUILD_BZIP2=0</userinput></screen> 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 <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 <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 this package is built. Alternatively, use the command exactly as below to

View File

@ -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 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 &ndash; --> <!ENTITY copyrightdate "1999-2015"><!-- jhalfs needs a literal dash, not &ndash; -->
<!ENTITY milestone "7.8"> <!ENTITY milestone "7.8">
<!ENTITY generic-version "systemd"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> <!ENTITY generic-version "systemd"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->

View File

@ -197,20 +197,20 @@
<!ENTITY gawk-ch6-du "39 MB"> <!ENTITY gawk-ch6-du "39 MB">
<!ENTITY gawk-ch6-sbu "0.3 SBU"> <!ENTITY gawk-ch6-sbu "0.3 SBU">
<!ENTITY gcc-version "4.9.2"> <!ENTITY gcc-version "5.1.0">
<!ENTITY gcc-size "87,832 KB"> <!ENTITY gcc-size "92,736 KB">
<!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2"> <!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-home "http://gcc.gnu.org/">
<!ENTITY gcc-ch5p1-du "2.0 GB"> <!ENTITY gcc-ch5p1-du "2.4 GB">
<!ENTITY gcc-ch5p1-sbu "5.9 SBU"> <!ENTITY gcc-ch5p1-sbu "8.0 SBU">
<!ENTITY gcc-ch5p2-du "2.6 GB"> <!ENTITY gcc-ch5p2-du "2.8 GB">
<!ENTITY gcc-ch5p2-sbu "7.7 SBU"> <!ENTITY gcc-ch5p2-sbu "10.2 SBU">
<!ENTITY gcc-ch6-du "2.9 GB "> <!ENTITY gcc-ch6-du "2.6 GB ">
<!ENTITY gcc-ch6-sbu "63 SBU (with tests)"> <!ENTITY gcc-ch6-sbu "92 SBU (with tests)">
<!ENTITY libstdcpp-ch5-du "798 MB"> <!ENTITY libstdcpp-ch5-du "838 MB">
<!ENTITY libstdcpp-ch5-sbu "0.3 SBU"> <!ENTITY libstdcpp-ch5-sbu "0.4 SBU">
<!ENTITY gdbm-version "1.11"> <!ENTITY gdbm-version "1.11">
<!ENTITY gdbm-size "796 KB"> <!ENTITY gdbm-size "796 KB">

View File

@ -30,11 +30,13 @@
<!ENTITY mpfr-fixes-patch-md5 "5ba8bafe42920d6e570567529629bc59"> <!ENTITY mpfr-fixes-patch-md5 "5ba8bafe42920d6e570567529629bc59">
<!ENTITY mpfr-fixes-patch-size "38 KB"> <!ENTITY mpfr-fixes-patch-size "38 KB">
<!-- <!ENTITY ncurses-gcc5-buildfixes-patch "ncurses-&ncurses-version;-gcc5_buildfixes-1.patch">
<!ENTITY perl-fix-patch "perl-&perl-version;-infinite_recurse_fix-1.patch"> <!ENTITY ncurses-gcc5-buildfixes-patch-md5 "f9015f670940350a3fc3c2ef347e2b33">
<!ENTITY perl-fix-patch-md5 "579dfed34e97e0a2fe21b74aa53946ac"> <!ENTITY ncurses-gcc5-buildfixes-patch-size "4 KB">
<!ENTITY perl-fix-patch-size "11 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 "readline-&readline-version;-upstream_fixes-3.patch">
<!ENTITY readline-fixes-patch-md5 "6b0d9f4e79319d56a7fee9b35e5cfd1b"> <!ENTITY readline-fixes-patch-md5 "6b0d9f4e79319d56a7fee9b35e5cfd1b">