Cross-Compiler Milestone

Finally. The issue was the target triplet.

Apparently a vendor tag of just the generic ‘pc’ was a bad idea because of it being a default value and causing some confusion to the build scripts to try to use the host system resources during compilation.

This would explain why the previous two builds worked and the 3rd did not.

Nonetheless, we are one step closer.

It’s a beautiful thing:

[code]

[ phanes@foster-build-host ] << /lin_dir/chroot >>

[- tree
.
|– bin
| |– x86_64-surro-linux-gnu-addr2line
| |– x86_64-surro-linux-gnu-ar
| |– x86_64-surro-linux-gnu-as
| |– x86_64-surro-linux-gnu-c++
| |– x86_64-surro-linux-gnu-c++filt
| |– x86_64-surro-linux-gnu-cpp
| |– x86_64-surro-linux-gnu-elfedit
| |– x86_64-surro-linux-gnu-g++
| |– x86_64-surro-linux-gnu-gcc
| |– x86_64-surro-linux-gnu-gcc-6.3.0
| |– x86_64-surro-linux-gnu-gcc-ar
| |– x86_64-surro-linux-gnu-gcc-nm
| |– x86_64-surro-linux-gnu-gcc-ranlib
| |– x86_64-surro-linux-gnu-gcov
| |– x86_64-surro-linux-gnu-gcov-tool
| |– x86_64-surro-linux-gnu-gprof
| |– x86_64-surro-linux-gnu-ld
| |– x86_64-surro-linux-gnu-ld.bfd
| |– x86_64-surro-linux-gnu-nm
| |– x86_64-surro-linux-gnu-objcopy
| |– x86_64-surro-linux-gnu-objdump
| |– x86_64-surro-linux-gnu-ranlib
| |– x86_64-surro-linux-gnu-readelf
| |– x86_64-surro-linux-gnu-size
| |– x86_64-surro-linux-gnu-strings
| `– x86_64-surro-linux-gnu-strip
|– include
|– lib
| |– gcc
| | `– x86_64-surro-linux-gnu
| | `– 6.3.0
| | |– crtbegin.o
| | |– crtbeginS.o
| | |– crtbeginT.o
| | |– crtend.o
| | |– crtendS.o
| | |– crtfastmath.o
| | |– crtprec32.o
| | |– crtprec64.o
| | |– crtprec80.o
| | |– include
| | | |– adxintrin.h
| | | |– ammintrin.h
| | | |– avx2intrin.h
| | | |– avx512bwintrin.h
| | | |– avx512cdintrin.h
| | | |– avx512dqintrin.h
| | | |– avx512erintrin.h
| | | |– avx512fintrin.h
| | | |– avx512ifmaintrin.h
| | | |– avx512ifmavlintrin.h
| | | |– avx512pfintrin.h
| | | |– avx512vbmiintrin.h
| | | |– avx512vbmivlintrin.h
| | | |– avx512vlbwintrin.h
| | | |– avx512vldqintrin.h
| | | |– avx512vlintrin.h
| | | |– avxintrin.h
| | | |– bmi2intrin.h
| | | |– bmiintrin.h
| | | |– bmmintrin.h
| | | |– clflushoptintrin.h
| | | |– clwbintrin.h
| | | |– clzerointrin.h
| | | |– cpuid.h
| | | |– cross-stdarg.h
| | | |– emmintrin.h
| | | |– f16cintrin.h
| | | |– float.h
| | | |– fma4intrin.h
| | | |– fmaintrin.h
| | | |– fxsrintrin.h
| | | |– ia32intrin.h
| | | |– immintrin.h
| | | |– iso646.h
| | | |– lwpintrin.h
| | | |– lzcntintrin.h
| | | |– mm3dnow.h
| | | |– mm_malloc.h
| | | |– mmintrin.h
| | | |– mwaitxintrin.h
| | | |– nmmintrin.h
| | | |– pkuintrin.h
| | | |– pmmintrin.h
| | | |– popcntintrin.h
| | | |– prfchwintrin.h
| | | |– rdseedintrin.h
| | | |– rtmintrin.h
| | | |– shaintrin.h
| | | |– smmintrin.h
| | | |– stdalign.h
| | | |– stdarg.h
| | | |– stdatomic.h
| | | |– stdbool.h
| | | |– stddef.h
| | | |– stdfix.h
| | | |– stdint-gcc.h
| | | |– stdint.h
| | | |– stdnoreturn.h
| | | |– tbmintrin.h
| | | |– tmmintrin.h
| | | |– unwind.h
| | | |– varargs.h
| | | |– wmmintrin.h
| | | |– x86intrin.h
| | | |– xmmintrin.h
| | | |– xopintrin.h
| | | |– xsavecintrin.h
| | | |– xsaveintrin.h
| | | |– xsaveoptintrin.h
| | | |– xsavesintrin.h
| | | `– xtestintrin.h
| | |– include-fixed
| | | |– README
| | | |– limits.h
| | | `– syslimits.h
| | |– install-tools
| | | |– fixinc_list
| | | |– gsyslimits.h
| | | |– include
| | | | |– README
| | | | `– limits.h
| | | |– macro_list
| | | `– mkheaders.conf
| | |– libgcc.a
| | |– libgcov.a
| | `– plugin
| | |– gtype.state
| | |– include
| | | |– ada
| | | | `– gcc-interface
| | | | `– ada-tree.def
| | | |– addresses.h
| | | |– alias.h
| | | |– all-tree.def
| | | |– alloc-pool.h
| | | |– ansidecl.h
| | | |– asan.h
| | | |– attribs.h
| | | |– auto-host.h
| | | |– auto-profile.h
| | | |– b-header-vars
| | | |– backend.h
| | | |– basic-block.h
| | | |– bb-reorder.h
| | | |– bitmap.h
| | | |– builtin-attrs.def
| | | |– builtin-types.def
| | | |– builtins.def
| | | |– builtins.h
| | | |– bversion.h
| | | |– c-family
| | | | |– c-common.def
| | | | |– c-common.h
| | | | |– c-objc.h
| | | | |– c-pragma.h
| | | | `– c-pretty-print.h
| | | |– c-tree.h
| | | |– calls.h
| | | |– ccmp.h
| | | |– cfg-flags.def
| | | |– cfg.h
| | | |– cfganal.h
| | | |– cfgbuild.h
| | | |– cfgcleanup.h
| | | |– cfgexpand.h
| | | |– cfghooks.h
| | | |– cfgloop.h
| | | |– cfgloopmanip.h
| | | |– cfgrtl.h
| | | |– cgraph.h
| | | |– chkp-builtins.def
| | | |– cif-code.def
| | | |– cilk-builtins.def
| | | |– cilk.h
| | | |– cilkplus.def
| | | |– collect-utils.h
| | | |– collect2-aix.h
| | | |– collect2.h
| | | |– conditions.h
| | | |– config
| | | | |– dbxelf.h
| | | | |– elfos.h
| | | | |– glibc-stdint.h
| | | | |– gnu-user.h
| | | | |– i386
| | | | | |– att.h
| | | | | |– biarch64.h
| | | | | |– gnu-user-common.h
| | | | | |– gnu-user64.h
| | | | | |– i386-opts.h
| | | | | |– i386-protos.h
| | | | | |– i386.h
| | | | | |– linux-common.h
| | | | | |– linux64.h
| | | | | |– stringop.def
| | | | | |– unix.h
| | | | | |– x86-64.h
| | | | | `– x86-tune.def
| | | | |– initfini-array.h
| | | | |– linux-android.h
| | | | |– linux-protos.h
| | | | |– linux.h
| | | | `– vxworks-dummy.h
| | | |– config.h
| | | |– configargs.h
| | | |– context.h
| | | |– convert.h
| | | |– coretypes.h
| | | |– coverage.h
| | | |– cp
| | | | |– cp-tree.def
| | | | |– cp-tree.h
| | | | |– cxx-pretty-print.h
| | | | |– name-lookup.h
| | | | `– type-utils.h
| | | |– cppbuiltin.h
| | | |– cppdefault.h
| | | |– cpplib.h
| | | |– cselib.h
| | | |– data-streamer.h
| | | |– dbgcnt.def
| | | |– dbgcnt.h
| | | |– dbxout.h
| | | |– dce.h
| | | |– ddg.h
| | | |– debug.h
| | | |– defaults.h
| | | |– df.h
| | | |– dfp.h
| | | |– diagnostic-color.h
| | | |– diagnostic-core.h
| | | |– diagnostic.def
| | | |– diagnostic.h
| | | |– dojump.h
| | | |– dominance.h
| | | |– domwalk.h
| | | |– double-int.h
| | | |– dumpfile.h
| | | |– dwarf2asm.h
| | | |– dwarf2out.h
| | | |– emit-rtl.h
| | | |– errors.h
| | | |– et-forest.h
| | | |– except.h
| | | |– explow.h
| | | |– expmed.h
| | | |– expr.h
| | | |– fibonacci_heap.h
| | | |– file-find.h
| | | |– filenames.h
| | | |– fixed-value.h
| | | |– flag-types.h
| | | |– flags.h
| | | |– fold-const-call.h
| | | |– fold-const.h
| | | |– function.h
| | | |– gcc-plugin.h
| | | |– gcc-rich-location.h
| | | |– gcc-symtab.h
| | | |– gcc.h
| | | |– gcov-counter.def
| | | |– gcov-io.h
| | | |– gcse-common.h
| | | |– gcse.h
| | | |– generic-match.h
| | | |– gengtype.h
| | | |– genrtl.h
| | | |– gensupport.h
| | | |– ggc-internal.h
| | | |– ggc.h
| | | |– gimple-builder.h
| | | |– gimple-expr.h
| | | |– gimple-fold.h
| | | |– gimple-iterator.h
| | | |– gimple-low.h
| | | |– gimple-match.h
| | | |– gimple-predict.h
| | | |– gimple-pretty-print.h
| | | |– gimple-ssa.h
| | | |– gimple-streamer.h
| | | |– gimple-walk.h
| | | |– gimple.def
| | | |– gimple.h
| | | |– gimplify-me.h
| | | |– gimplify.h
| | | |– glimits.h
| | | |– graph.h
| | | |– graphds.h
| | | |– graphite.h
| | | |– gsstruct.def
| | | |– gstab.h
| | | |– gsyms.h
| | | |– gsyslimits.h
| | | |– gtm-builtins.def
| | | |– gtype-desc.h
| | | |– hard-reg-set.h
| | | |– hash-map-traits.h
| | | |– hash-map.h
| | | |– hash-set.h
| | | |– hash-table.h
| | | |– hash-traits.h
| | | |– hashtab.h
| | | |– highlev-plugin-common.h
| | | |– hooks.h
| | | |– hosthooks-def.h
| | | |– hosthooks.h
| | | |– hsa-brig-format.h
| | | |– hsa.h
| | | |– hw-doloop.h
| | | |– hwint.h
| | | |– ifcvt.h
| | | |– inchash.h
| | | |– incpath.h
| | | |– input.h
| | | |– insn-addr.h
| | | |– insn-codes.h
| | | |– insn-constants.h
| | | |– insn-flags.h
| | | |– insn-modes.h
| | | |– insn-notes.def
| | | |– internal-fn.def
| | | |– internal-fn.h
| | | |– intl.h
| | | |– ipa-chkp.h
| | | |– ipa-icf-gimple.h
| | | |– ipa-icf.h
| | | |– ipa-inline.h
| | | |– ipa-prop.h
| | | |– ipa-ref.h
| | | |– ipa-reference.h
| | | |– ipa-utils.h
| | | |– ira-int.h
| | | |– ira.h
| | | |– is-a.h
| | | |– java
| | | | `– java-tree.def
| | | |– langhooks-def.h
| | | |– langhooks.h
| | | |– lcm.h
| | | |– libfuncs.h
| | | |– libiberty.h
| | | |– limitx.h
| | | |– limity.h
| | | |– line-map.h
| | | |– loop-unroll.h
| | | |– lower-subreg.h
| | | |– lra-int.h
| | | |– lra.h
| | | |– lto-compress.h
| | | |– lto-section-names.h
| | | |– lto-streamer.h
| | | |– machmode.def
| | | |– machmode.h
| | | |– md5.h
| | | |– mem-stats-traits.h
| | | |– mem-stats.h
| | | |– memory-block.h
| | | |– mode-classes.def
| | | |– objc
| | | | `– objc-tree.def
| | | |– obstack.h
| | | |– omp-builtins.def
| | | |– omp-low.h
| | | |– optabs-libfuncs.h
| | | |– optabs-query.h
| | | |– optabs-tree.h
| | | |– optabs.def
| | | |– optabs.h
| | | |– options.h
| | | |– opts-diagnostic.h
| | | |– opts.h
| | | |– output.h
| | | |– params-enum.h
| | | |– params-list.h
| | | |– params.def
| | | |– params.h
| | | |– params.list
| | | |– pass-instances.def
| | | |– pass_manager.h
| | | |– passes.def
| | | |– plugin-api.h
| | | |– plugin-version.h
| | | |– plugin.def
| | | |– plugin.h
| | | |– predict.def
| | | |– predict.h
| | | |– prefix.h
| | | |– pretty-print.h
| | | |– print-rtl.h
| | | |– print-tree.h
| | | |– profile.h
| | | |– read-md.h
| | | |– real.h
| | | |– realmpfr.h
| | | |– recog.h
| | | |– reg-notes.def
| | | |– regcprop.h
| | | |– regrename.h
| | | |– regs.h
| | | |– regset.h
| | | |– reload.h
| | | |– resource.h
| | | |– rtl-chkp.h
| | | |– rtl-error.h
| | | |– rtl-iter.h
| | | |– rtl.def
| | | |– rtl.h
| | | |– rtlhash.h
| | | |– rtlhooks-def.h
| | | |– safe-ctype.h
| | | |– sanitizer.def
| | | |– sbitmap.h
| | | |– sched-int.h
| | | |– sdbout.h
| | | |– sel-sched-dump.h
| | | |– sel-sched-ir.h
| | | |– sel-sched.h
| | | |– sese.h
| | | |– shrink-wrap.h
| | | |– signop.h
| | | |– sparseset.h
| | | |– spellcheck.h
| | | |– splay-tree.h
| | | |– sreal.h
| | | |– ssa-iterators.h
| | | |– ssa.h
| | | |– stab.def
| | | |– statistics.h
| | | |– stmt.h
| | | |– stor-layout.h
| | | |– streamer-hooks.h
| | | |– stringpool.h
| | | |– symbol-summary.h
| | | |– symtab.h
| | | |– sync-builtins.def
| | | |– system.h
| | | |– target-def.h
| | | |– target-globals.h
| | | |– target-hooks-macros.h
| | | |– target-insns.def
| | | |– target.def
| | | |– target.h
| | | |– targhooks.h
| | | |– timevar.def
| | | |– timevar.h
| | | |– tm-preds.h
| | | |– tm.h
| | | |– tm_p.h
| | | |– toplev.h
| | | |– tracer.h
| | | |– trans-mem.h
| | | |– tree-affine.h
| | | |– tree-cfg.h
| | | |– tree-cfgcleanup.h
| | | |– tree-check.h
| | | |– tree-chkp.h
| | | |– tree-chrec.h
| | | |– tree-core.h
| | | |– tree-data-ref.h
| | | |– tree-dfa.h
| | | |– tree-diagnostic.h
| | | |– tree-dump.h
| | | |– tree-eh.h
| | | |– tree-hash-traits.h
| | | |– tree-hasher.h
| | | |– tree-inline.h
| | | |– tree-into-ssa.h
| | | |– tree-iterator.h
| | | |– tree-nested.h
| | | |– tree-object-size.h
| | | |– tree-outof-ssa.h
| | | |– tree-parloops.h
| | | |– tree-pass.h
| | | |– tree-phinodes.h
| | | |– tree-pretty-print.h
| | | |– tree-scalar-evolution.h
| | | |– tree-ssa-address.h
| | | |– tree-ssa-alias.h
| | | |– tree-ssa-coalesce.h
| | | |– tree-ssa-dom.h
| | | |– tree-ssa-live.h
| | | |– tree-ssa-loop-ivopts.h
| | | |– tree-ssa-loop-manip.h
| | | |– tree-ssa-loop-niter.h
| | | |– tree-ssa-loop.h
| | | |– tree-ssa-operands.h
| | | |– tree-ssa-propagate.h
| | | |– tree-ssa-sccvn.h
| | | |– tree-ssa-scopedtables.h
| | | |– tree-ssa-ter.h
| | | |– tree-ssa-threadbackward.h
| | | |– tree-ssa-threadedge.h
| | | |– tree-ssa-threadupdate.h
| | | |– tree-ssa.h
| | | |– tree-ssanames.h
| | | |– tree-stdarg.h
| | | |– tree-streamer.h
| | | |– tree-vectorizer.h
| | | |– tree.def
| | | |– tree.h
| | | |– treestruct.def
| | | |– tsan.h
| | | |– tsystem.h
| | | |– typeclass.h
| | | |– typed-splay-tree.h
| | | |– ubsan.h
| | | |– valtrack.h
| | | |– value-prof.h
| | | |– varasm.h
| | | |– vec.h
| | | |– version.h
| | | |– vmsdbg.h
| | | |– vtable-verify.h
| | | |– wide-int-print.h
| | | |– wide-int.h
| | | |– xcoff.h
| | | `– xcoffout.h
| | |– libcc1plugin.la
| | |– libcc1plugin.so -> libcc1plugin.so.0.0.0
| | |– libcc1plugin.so.0 -> libcc1plugin.so.0.0.0
| | `– libcc1plugin.so.0.0.0
| |– libcc1.la
| |– libcc1.so -> libcc1.so.0.0.0
| |– libcc1.so.0 -> libcc1.so.0.0.0
| `– libcc1.so.0.0.0
|– libexec
| `– gcc
| `– x86_64-surro-linux-gnu
| `– 6.3.0
| |– cc1
| |– cc1plus
| |– collect2
| |– install-tools
| | |– fixinc.sh
| | |– fixincl
| | |– mkheaders
| | `– mkinstalldirs
| |– liblto_plugin.la
| |– liblto_plugin.so -> liblto_plugin.so.0.0.0
| |– liblto_plugin.so.0 -> liblto_plugin.so.0.0.0
| |– liblto_plugin.so.0.0.0
| |– lto-wrapper
| |– lto1
| `– plugin
| `– gengtype
|– share
| |– info
| | |– as.info
| | |– bfd.info
| | |– binutils.info
| | |– cpp.info
| | |– cppinternals.info
| | |– dir
| | |– gcc.info
| | |– gccinstall.info
| | |– gccint.info
| | |– gprof.info
| | `– ld.info
| `– man
| |– man1
| | |– x86_64-surro-linux-gnu-addr2line.1
| | |– x86_64-surro-linux-gnu-ar.1
| | |– x86_64-surro-linux-gnu-as.1
| | |– x86_64-surro-linux-gnu-c++filt.1
| | |– x86_64-surro-linux-gnu-cpp.1
| | |– x86_64-surro-linux-gnu-dlltool.1
| | |– x86_64-surro-linux-gnu-elfedit.1
| | |– x86_64-surro-linux-gnu-g++.1
| | |– x86_64-surro-linux-gnu-gcc.1
| | |– x86_64-surro-linux-gnu-gcov.1
| | |– x86_64-surro-linux-gnu-gprof.1
| | |– x86_64-surro-linux-gnu-ld.1
| | |– x86_64-surro-linux-gnu-nlmconv.1
| | |– x86_64-surro-linux-gnu-nm.1
| | |– x86_64-surro-linux-gnu-objcopy.1
| | |– x86_64-surro-linux-gnu-objdump.1
| | |– x86_64-surro-linux-gnu-ranlib.1
| | |– x86_64-surro-linux-gnu-readelf.1
| | |– x86_64-surro-linux-gnu-size.1
| | |– x86_64-surro-linux-gnu-strings.1
| | |– x86_64-surro-linux-gnu-strip.1
| | |– x86_64-surro-linux-gnu-windmc.1
| | `– x86_64-surro-linux-gnu-windres.1
| `– man7
| |– fsf-funding.7
| |– gfdl.7
| `– gpl.7
`– x86_64-surro-linux-gnu
|– bin
| |– ar
| |– as
| |– ld
| |– ld.bfd
| |– nm
| |– objcopy
| |– objdump
| |– ranlib
| |– readelf
| `– strip
`– lib
`– ldscripts
|– elf32_x86_64.x
|– elf32_x86_64.xbn
|– elf32_x86_64.xc
|– elf32_x86_64.xd
|– elf32_x86_64.xdc
|– elf32_x86_64.xdw
|– elf32_x86_64.xn
|– elf32_x86_64.xr
|– elf32_x86_64.xs
|– elf32_x86_64.xsc
|– elf32_x86_64.xsw
|– elf32_x86_64.xu
|– elf32_x86_64.xw
|– elf_i386.x
|– elf_i386.xbn
|– elf_i386.xc
|– elf_i386.xd
|– elf_i386.xdc
|– elf_i386.xdw
|– elf_i386.xn
|– elf_i386.xr
|– elf_i386.xs
|– elf_i386.xsc
|– elf_i386.xsw
|– elf_i386.xu
|– elf_i386.xw
|– elf_iamcu.x
|– elf_iamcu.xbn
|– elf_iamcu.xc
|– elf_iamcu.xd
|– elf_iamcu.xdc
|– elf_iamcu.xdw
|– elf_iamcu.xn
|– elf_iamcu.xr
|– elf_iamcu.xs
|– elf_iamcu.xsc
|– elf_iamcu.xsw
|– elf_iamcu.xu
|– elf_iamcu.xw
|– elf_k1om.x
|– elf_k1om.xbn
|– elf_k1om.xc
|– elf_k1om.xd
|– elf_k1om.xdc
|– elf_k1om.xdw
|– elf_k1om.xn
|– elf_k1om.xr
|– elf_k1om.xs
|– elf_k1om.xsc
|– elf_k1om.xsw
|– elf_k1om.xu
|– elf_k1om.xw
|– elf_l1om.x
|– elf_l1om.xbn
|– elf_l1om.xc
|– elf_l1om.xd
|– elf_l1om.xdc
|– elf_l1om.xdw
|– elf_l1om.xn
|– elf_l1om.xr
|– elf_l1om.xs
|– elf_l1om.xsc
|– elf_l1om.xsw
|– elf_l1om.xu
|– elf_l1om.xw
|– elf_x86_64.x
|– elf_x86_64.xbn
|– elf_x86_64.xc
|– elf_x86_64.xd
|– elf_x86_64.xdc
|– elf_x86_64.xdw
|– elf_x86_64.xn
|– elf_x86_64.xr
|– elf_x86_64.xs
|– elf_x86_64.xsc
|– elf_x86_64.xsw
|– elf_x86_64.xu
|– elf_x86_64.xw
|– i386linux.x
|– i386linux.xbn
|– i386linux.xn
|– i386linux.xr
`– i386linux.xu

35 directories, 651 files

[/code]

I will point out though, that it is quite entertaining and humbling to be so aware that I can screw something so small up so repeatedly without realizing it.