Re: [lfs-dev] [PATCH] binutils-2.32 gold testsuite linker error (LFS-BOOK-20190624-systemd)

2019-07-13 Thread Bruce Dubbs via lfs-dev

On 7/13/19 6:40 PM, Ken Moffat via lfs-dev wrote:

On Sat, Jul 06, 2019 at 09:42:41AM -0400, Ben Brian via lfs-dev wrote:

While testing binutils-2.32 in Ch 6.16 of LFS-BOOK-20190624-systemd, I
receive this error in the gold testsuite:

gcctestdir/collect-ld: internal error in set_section_addresses, at
../../gold/output.cc:4441
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:9430: incremental_copy_test] Error 1

This was reported upstream as a binutils + gcc-9.x bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=24123

The error prevents the full testsuite from running. The following
workaround (after extracting binutils) disables the test and prevents
the error on my system:

sed -i.orig -e '/@\tincremental_copy_test$(EXEEXT) \\/d' \
 -e '/@\tincremental_copy_test \\/d' \
 gold/testsuite/Makefile.in

I've also attached a more comprehensive patch to remove all traces of
incremental_copy_test from Makefile.in, if that's preferable.


Ben


Thanks for the report.  I've confirmed this happened on my gcc-9.1
builds from May, but it is easy to miss (I normally only search for
'FAIL' in the binutils test log).

I've raised http://wiki.linuxfromscratch.org/lfs/ticket/4498#ticket
to ensure this doesn't get forgotten.


I'll check this out for the next build, but I'm waiting for the 5.2.1 
kernel.


Checking the sed, it can be simplified/shortened:

sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] [PATCH] binutils-2.32 gold testsuite linker error (LFS-BOOK-20190624-systemd)

2019-07-13 Thread Ken Moffat via lfs-dev
On Sat, Jul 06, 2019 at 09:42:41AM -0400, Ben Brian via lfs-dev wrote:
> While testing binutils-2.32 in Ch 6.16 of LFS-BOOK-20190624-systemd, I
> receive this error in the gold testsuite:
> 
> gcctestdir/collect-ld: internal error in set_section_addresses, at
> ../../gold/output.cc:4441
> collect2: error: ld returned 1 exit status
> make[5]: *** [Makefile:9430: incremental_copy_test] Error 1
> 
> This was reported upstream as a binutils + gcc-9.x bug:
> https://sourceware.org/bugzilla/show_bug.cgi?id=24123
> 
> The error prevents the full testsuite from running. The following
> workaround (after extracting binutils) disables the test and prevents
> the error on my system:
> 
> sed -i.orig -e '/@\tincremental_copy_test$(EXEEXT) \\/d' \
> -e '/@\tincremental_copy_test \\/d' \
> gold/testsuite/Makefile.in
> 
> I've also attached a more comprehensive patch to remove all traces of
> incremental_copy_test from Makefile.in, if that's preferable.
> 
> 
> Ben

Thanks for the report.  I've confirmed this happened on my gcc-9.1
builds from May, but it is easy to miss (I normally only search for
'FAIL' in the binutils test log).

I've raised http://wiki.linuxfromscratch.org/lfs/ticket/4498#ticket
to ensure this doesn't get forgotten.

ĸen
-- 
This is magic for grown-ups; it has to be hard because we know there's
no such thing as a free goblin.
   -- Pratchett, Stewart & Cohen - The Science of Discworld II
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Searching for a chapter on multilib

2019-07-13 Thread DJ Lucas via lfs-dev



On 7/12/2019 5:53 PM, DJ Lucas via lfs-dev wrote:


I did have a patch for jhalfs that was relatively simple for Thomas's 
build, but it's went away with last cleanup, but was not difficult. I 
think all I had to do was to expand the glibc-* target 
I had to add -32 to the sed for the package titles to extract the 
package name.
so that the multiple builds were possible, but with the multiple 
copies of the book, amd64+i686/x32, it has to be expanded again to 
cope. I'll take a stab at adding it back this weekend if somebody else 
hasn't already.


The additional options aren't so easy as I would have had to modify 
lfs.xsl extensively to account for all of the arch= parts. Ultimately, I 
changed the method used to extract commands to a profiled two pass of 
xsltproc (as is already done with the books themselves). I'm going to 
suggest this to Pierre when he gets back as it'll ultimately simply 
lfs.xsl, removing 20 unneeded lines, 6 of which are an entire xsl:select 
on sect1). I did not do this for the chapter03.xml (for the tarballs) in 
LFS, just left a FIXME in there temporarily. Also, I do not know if it 
is possible to test for a specific value of BRANCH="branch-multilib" to 
further limit the unneeded options (I can't really do anything about 
WORKING_COPY -- the option needs to be there as we have no idea what is 
going on with a local copy).


Anyway, see attached.

--DJ

Index: Config.in
===
--- Config.in   (revision 4110)
+++ Config.in   (working copy)
@@ -11,7 +11,7 @@
 configBOOK_LFS
 bool "Linux From Scratch System V"
 help
-Set up the tools to build LFS with Sys V init.
+Set up the tools to build LFS with SysV init.
 
 configBOOK_LFS_SYSD
 bool "Linux From Scratch systemd"
@@ -45,9 +45,9 @@
 prompt "Init system"
 
 config BLFS_SYSV
-bool "BLFS Sys V"
+bool "BLFS SysV"
 help
-Extract the Sys V flavour of the BLFS book
+Extract the SysV flavour of the BLFS book
 
 config BLFS_SYSD
 bool "BLFS systemd"
@@ -61,6 +61,13 @@
 default "sysv" if BOOK_LFS || BLFS_SYSV
 default "systemd"  if BOOK_LFS_SYSD || BLFS_SYSD
 
+configMULTILIB
+string
+default "default"  if LFS_MULTILIB_NO
+default "ml_32"if LFS_MULTILIB_I686
+default "ml_x32"   if LFS_MULTILIB_X32
+default "ml_all"   if LFS_MULTILIB_ALL
+
 configPROGNAME
 string
 default "lfs"  if BOOK_LFS || BOOK_LFS_SYSD
@@ -122,6 +129,39 @@
 help
 The full path to a local copy of the book XML sources
 
+choice
+depends on BOOK_LFS || BOOK_LFS_SYSD && BRANCH || WORKING_COPY
+prompt "Mutilib"
+config LFS_MULTILIB_NO
+bool "Standard LFS on i686 or amd64"
+help
+Ues standard LFS book (choose this if not multilib source)
+
+config LFS_MULTILIB_I686
+bool "Multilib LFS on amd64 with i686 libraries"
+help
+Use Multilib LFS book with i686 libraries
+
+config LFS_MULTILIB_X32
+bool "Multilib LFS on amd64 with x32 libraries"
+help
+Use Multilib LFS book with x32 libraries
+
+config LFS_MULTILIB_ALL
+bool "Multilib LFS on amd64 with i686 and x32 libraries"
+help
+Use Multilib LFS book with i686 and x32 libraries
+
+endchoice
+
+configMULTILIB
+depends on LFS_MULTILIB_I686 || LFS_MULTILIB_X32 || LFS_MULTILIB_ALL
+string
+default "default"  if LFS_MULTILIB_NO
+default "ml_32"if LFS_MULTILIB_I686
+default "ml_x32"   if LFS_MULTILIB_X32
+default "ml_all"   if LFS_MULTILIB_ALL
+
 #--- End BOOK version
 
 #--- CLFS specific params
Index: LFS/master.sh
===
--- LFS/master.sh   (revision 4110)
+++ LFS/master.sh   (working copy)
@@ -103,10 +103,11 @@
 esac
 
 # Grab the name of the target (minus the -pass1 or -pass2 in the case of 
gcc
-# and binutils in chapter 5)
+# and binutils in chapter 5, and -32 for multilib glibc)
 name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@' \
 -e 's@-pass[0-9]\{1\}@@' \
--e 's@-libstdc++@@'`
+-e 's@-libstdc++@@' \
+-e 's@-32@@'`
 
 # Set the dependency for the first target.
 if [ -z $PREV ] ; then PREV=022-settingenvironment ; fi
Index: common/libs/func_book_parser
===
--- common/libs/func_book_parser(revision 4110)
+++ common/libs/func_book_parser(working copy)
@@ -164,9 +164,26 @@
 fi
 popd