On 26/02/2011 04:14, Steve T wrote:
On 26/02/2011 03:57, Robert Connolly wrote:
This is fixed upstream, in the unstable branch. Try this patch:
http://www.linuxfromscratch.org/~robert/new/patches/gmp-5.0.1-pic.diff
and let me know if it works please.
robert
Thankyou again Robert. It may be a couple of days before i get to try it
now but will message straight back with the results.
Steve.
Well, good news overall, I managed to get to a fully booting system
after some delays at home.
These are the things i came across :
1. The gmp pic patch mentioned above works perfectly so could do with
adding to the book.
2. The grsec patch listed in the patch list is not available. Grsec
has been bumped a few times and the latest one (Ending 201103122250)
plays nicely.
3. Chapter 6 gcc testing. A large number of the tests reported
failed with the somewhat common 'Excess Errors' message, but the testing
continues anyway and the final build works ok. Enough to build the
remainder of the book anyway.
4. Chapter 6 sanity checks. grep -o '/usr/lib.*/crt[1in].*succeeded'
dummy.log reports success for crti.o and crtn.o, but NOT crt1.o as
suggested there. I know when I built 20080603 only i & n were shown in
the expected output. Could/should this be the same case here ?
5. A quick look through dummy.log (attached) shows a number of libs
fail to open at /usr/lib/gcc/i686-pc-linux-gnu/4.5.2 All but 2 of these
already exist in /usr/lib at this point though. It doesnt stop the
build in any way. Are these expected or would we benefit by creating
some symlinks for them ?
6. The remainder of the book built without issue. Chapter 6 gcc
testing has always been a pain in the butt; it feels very similar to how
it happened with 20080603 though and that worked just fine.
7. Grub-1.98 failed initially with a quite weird error but Ive been
unable to reproduce this and it has subsequently built ok. That said,
Im sticking with legacy for the time being :)
Now I'm looking forward to the next round of updates, as per the latest
'to-do' message on 20th Feb.
Regards,
Steve
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.5.2/configure --prefix=/usr --libexecdir=/usr/lib
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu --enable-languages=c,c++ --disable-multilib
--disable-bootstrap --with-system-zlib
Thread model: posix
gcc version 4.5.2 (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/cc1 -quiet -v dummy.c -D_FORTIFY_SOURCE=2
-quiet -dumpbase dummy.c -mtune=generic -march=pentiumpro -auxbase dummy
-version -fPIE -fstack-protector-all -o /tmp/cc8K1Y7S.s
GNU C (GCC) version 4.5.2 (i686-pc-linux-gnu)
compiled by GNU C version 4.5.2, GMP version 5.0.1, MPFR version 3.0.0,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=127245
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/include-fixed
/usr/include
End of search list.
GNU C (GCC) version 4.5.2 (i686-pc-linux-gnu)
compiled by GNU C version 4.5.2, GMP version 5.0.1, MPFR version 3.0.0,
MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=97 --param ggc-min-heapsize=127245
Compiler executable checksum: 9495569944f3307231ba8601ebee8f21
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
as -V -Qy --32 -o /tmp/ccq42Suv.o /tmp/cc8K1Y7S.s
GNU assembler version 2.21 (i686-pc-linux-gnu) using BFD version (GNU Binutils)
2.21
COMPILER_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=pentiumpro'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/collect2 --eh-frame-hdr -m elf_i386
-dynamic-linker /lib/ld-linux.so.2 -pie --warn-shared-textrel -z relro -z
combreloc -z now --fatal-warnings
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../Scrt1.o
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crti.o
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtbeginS.o
-L/usr/lib/gcc/i686-pc-linux-gnu/4.5.2
-L/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../.. /tmp/ccq42Suv.o --verbose -lgcc
--as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtendS.o
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crtn.o
GNU ld (GNU Binutils) 2.21
Supported emulations:
elf_i386
i386linux
using internal linker script:
==================================================
/* Script for -pie -z combreloc -z now -z relro: position independent
executable, combine & sort relocs */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
"elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR("/usr/i686-pc-linux-gnu/lib"); SEARCH_DIR("/usr/local/lib");
SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
/* Read-only sections, merged into text segment: */
. = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS;
.interp : { *(.interp) }
.note.gnu.build-id : { *(.note.gnu.build-id) }
.hash : { *(.hash) }
.gnu.hash : { *(.gnu.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.rel.dyn :
{
*(.rel.init)
*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
*(.rel.fini)
*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
*(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
*(.rel.ctors)
*(.rel.dtors)
*(.rel.got)
*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
*(.rel.ifunc)
}
.rel.plt :
{
*(.rel.plt)
PROVIDE_HIDDEN (__rel_iplt_start = .);
*(.rel.iplt)
PROVIDE_HIDDEN (__rel_iplt_end = .);
}
.init :
{
KEEP (*(.init))
} =0x90909090
.plt : { *(.plt) *(.iplt) }
.text :
{
*(.text.unlikely .text.*_unlikely)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
} =0x90909090
.fini :
{
KEEP (*(.fini))
} =0x90909090
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
.eh_frame_hdr : { *(.eh_frame_hdr) }
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) &
(CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE),
CONSTANT (COMMONPAGESIZE));
/* Exception handling */
.eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) }
.gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
/* Thread Local Storage sections */
.tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
.preinit_array :
{
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
}
.init_array :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
}
.fini_array :
{
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(SORT(.fini_array.*)))
KEEP (*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
}
.ctors :
{
/* gcc uses crtbegin.o to find the start of
the constructors, so we make sure it is
first. Because this is a wildcard, it
doesn't matter if the user does not
actually link against crtbegin.o; the
linker won't look for a file to match a
wildcard. The wildcard also means that it
doesn't matter which directory crtbegin.o
is in. */
KEEP (*crtbegin.o(.ctors))
KEEP (*crtbegin?.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
}
.dtors :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*crtbegin?.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
}
.jcr : { KEEP (*(.jcr)) }
.data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
*(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
.dynamic : { *(.dynamic) }
.got : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
. = DATA_SEGMENT_RELRO_END (0, .);
.data :
{
*(.data .data.* .gnu.linkonce.d.*)
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
_edata = .; PROVIDE (edata = .);
__bss_start = .;
.bss :
{
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections.
FIXME: Why do we need it? When there is no .bss section, we don't
pad the .data section. */
. = ALIGN(. != 0 ? 32 / 8 : 1);
}
. = ALIGN(32 / 8);
. = ALIGN(32 / 8);
_end = .; PROVIDE (end = .);
. = DATA_SEGMENT_END (.);
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo .zdebug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames .zdebug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges .zdebug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames .zdebug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.* .zdebug_info) }
.debug_abbrev 0 : { *(.debug_abbrev .zdebug_abbrev) }
.debug_line 0 : { *(.debug_line .zdebug_line) }
.debug_frame 0 : { *(.debug_frame .zdebug_frame) }
.debug_str 0 : { *(.debug_str .zdebug_str) }
.debug_loc 0 : { *(.debug_loc .zdebug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo .zdebug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames .zdebug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames .zdebug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames .zdebug_typenames) }
.debug_varnames 0 : { *(.debug_varnames .zdebug_varnames) }
/* DWARF 3 */
.debug_pubtypes 0 : { *(.debug_pubtypes .zdebug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges .zdebug_ranges) }
.gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}
==================================================
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../Scrt1.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../Scrt1.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crti.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crti.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtbeginS.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtbeginS.o
attempt to open /tmp/ccq42Suv.o succeeded
/tmp/ccq42Suv.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.a succeeded
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.a failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so
succeeded
-lgcc_s (/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so)
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libc.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libc.a failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libc.so succeeded
opened script file /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libc.so
opened script file /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libc.so
attempt to open /lib/libc.so.6 succeeded
/lib/libc.so.6
attempt to open /usr/lib/libc_nonshared.a succeeded
(/usr/lib/libc_nonshared.a)elf-init.oS
(/usr/lib/libc_nonshared.a)stack_chk_fail_local.oS
attempt to open /lib/ld-linux.so.2 succeeded
/lib/ld-linux.so.2
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc.a succeeded
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.a failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so
succeeded
-lgcc_s (/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../libgcc_s.so)
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtendS.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/crtendS.o
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crtn.o succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/../../../crtn.o
ld-linux.so.2 needed by /lib/libc.so.6
found ld-linux.so.2 at /lib/ld-linux.so.2
--
http://linuxfromscratch.org/mailman/listinfo/hlfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page