Guys, I've been trying to debug a linker error (which I thought was a bug in my optimization.) Well it turns out it occurs in a brand new virgin version of the compiler running with binutils 2.36 which is the latest version. I'm posting this on both the binutils list and gcc list because people of either list are just as likely to have an idea about what's going on. Note, I tried to walk though the ld code in gdb but it's nontrivial trying figure out why an error occured. I can't just set a watch point on a flag because, at least in some places it seems like the default state of the flag is failure and the code then proceeds to try various things to see if they'll work.
Regarding the compiler that I built: $ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean Now here is how I built it: ./my_dual_build_script gcc_virgin_build 2>build_log_virgin 1>&2 where my_dual_build_script is: cd $1 BASE=`pwd` echo BASE = $BASE touch BU_objdir objdir install rm -rf BU_objdir objdir install mkdir BU_objdir objdir install cd BU_objdir echo BUILDING BINUTILS IN `pwd` ../binutils-2.36/configure --prefix=$BASE/install make CFLAGS='-O2 -g' CXXFLAGS='-O2 -g' -j 12 ##make CFLAGS='-O0 -g' CXXFLAGS='-O2 -g' -j 12 make install cd ../objdir echo BUILDING GCC IN `pwd` ../sources/configure --prefix=$BASE/install --disable-bootstrap -enable-language=c,c++,lto --disable-multilib --enable-valgrind-annotations ##make CFLAGS='-O0 -g' CXXFLAGS='-O0 -g' -j 12 make CFLAGS='-O2 -g' CXXFLAGS='-O2 -g' -j 12 make install My installed gcc is: $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) My istalled binutils are: $ ld -v GNU ld (GNU Binutils for Ubuntu) 2.30 Now the application that failing during testing is 505.x264_5 which is from SPEC17. Note, please don't try to duplicate this bug unless you have access to SPEC17 and are running an identical system because Martin Liska tried to do this on a different system but but he couldn't get it to duplicate. Now for any SPEC heads out there here's the germane parts from its confige file. define gcc_dir /home/gary/gcc_virgin_build/install preENV_LD_LIBRARY_PATH = %{gcc_dir}/lib64/:%{gcc_dir}/lib/:/lib64 SPECLANG = %{gcc_dir}/bin/ CC = $(SPECLANG)gcc --verbose -std=c99 %{model} CXX = $(SPECLANG)g++ -std=c++03 %{model} FC = $(SPECLANG)gfortran %{model} OPTIMIZE = -O2 -v -Wl,--verbose=11111 -Wl,-debug COPTIMIZE = -save-temps Finally here linker's part of the x264 build output: /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../x86_64-pc-linux-gnu/bin/ld -plugin /home/gary/gcc_virgin_build/install/libexec/gcc/x86_64-pc-linux-gnu/11.0.1/liblto_plugin.so -plugin-opt=/home/gary/gcc_virgin_build/install/libexec/gcc/x86_64-pc-linux-gnu/11.0.1/lto-wrapper -plugin-opt=-fresolution=ldecod_r.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o ldecod_r /usr/lib/x86_64-linux-gnu/crt1.o /usr/lib/x86_64-linux-gnu/crti.o /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/crtbegin.o -L/home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1 -L/home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../x86_64-pc-linux-gnu/lib -L/home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../.. --verbose=11111 ldecod_src/nal.o ldecod_src/mbuffer_mvc.o ldecod_src/image.o ldecod_src/mb_access.o ldecod_src/memalloc.o ldecod_src/mc_prediction.o ldecod_src/mb_prediction.o ldecod_src/intra4x4_pred_mbaff.o ldecod_src/loop_filter_mbaff.o ldecod_src/context_ini.o ldecod_src/configfile.o ldecod_src/cabac.o ldecod_src/sei.o ldecod_src/leaky_bucket.o ldecod_src/filehandle.o ldecod_src/errorconcealment.o ldecod_src/decoder_test.o ldecod_src/img_process.o ldecod_src/mv_prediction.o ldecod_src/fmo.o ldecod_src/output.o ldecod_src/mc_direct.o ldecod_src/rtp.o ldecod_src/nalucommon.o ldecod_src/config_common.o ldecod_src/intra_chroma_pred.o ldecod_src/transform8x8.o ldecod_src/blk_prediction.o ldecod_src/intra8x8_pred_mbaff.o ldecod_src/erc_do_i.o ldecod_src/io_tiff.o ldecod_src/mbuffer.o ldecod_src/block.o ldecod_src/intra4x4_pred.o ldecod_src/transform.o ldecod_src/annexb.o ldecod_src/ldecod.o ldecod_src/macroblock.o ldecod_src/vlc.o ldecod_src/parset.o ldecod_src/loop_filter_normal.o ldecod_src/parsetcommon.o ldecod_src/erc_do_p.o ldecod_src/loopFilter.o ldecod_src/intra16x16_pred_mbaff.o ldecod_src/intra4x4_pred_normal.o ldecod_src/intra16x16_pred_normal.o ldecod_src/win32.o ldecod_src/intra16x16_pred.o ldecod_src/intra8x8_pred_normal.o ldecod_src/io_raw.o ldecod_src/img_io.o ldecod_src/nalu.o ldecod_src/quant.o ldecod_src/intra8x8_pred.o ldecod_src/erc_api.o ldecod_src/header.o ldecod_src/biaridecod.o ldecod_src/input.o -lm -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/crtend.o /usr/lib/x86_64-linux-gnu/crtn.o GNU ld (GNU Binutils) 2.36 Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om using internal linker script: ================================================== /* Script for -z combreloc -z separate-code */ /* Copyright (C) 2014-2021 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("/home/gary/gcc_virgin_build/install/x86_64-pc-linux-gnu/lib64"); SEARCH_DIR("/home/gary/gcc_virgin_build/install/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/home/gary/gcc_virgin_build/install/x86_64-pc-linux-gnu/lib"); SEARCH_DIR("/home/gary/gcc_virgin_build/install/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib"); SECTIONS { PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + 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) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) PROVIDE_HIDDEN (__rela_iplt_start = .); *(.rela.iplt) PROVIDE_HIDDEN (__rela_iplt_end = .); } . = ALIGN(CONSTANT (MAXPAGESIZE)); .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.sec : { *(.plt.sec) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(SORT(.text.sorted.*)) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); . = ALIGN(CONSTANT (MAXPAGESIZE)); /* Adjust the address for the rodata segment. We want to adjust up to the same address within the page on the next page up. */ . = SEGMENT_START("rodata-segment", ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1))); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges*) } /* Thread Local Storage sections */ .tdata : { PROVIDE_HIDDEN (__tdata_start = .); *(.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_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) 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 .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .got.plt : { *(.got.plt) *(.igot.plt) } .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 do not pad the .data section. */ . = ALIGN(. != 0 ? 64 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(64 / 8); . = SEGMENT_START("ldata-segment", .); .lrodata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : { *(.lrodata .lrodata.* .gnu.linkonce.lr.*) } .ldata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : { *(.ldata .ldata.* .gnu.linkonce.l.*) . = ALIGN(. != 0 ? 64 / 8 : 1); } . = ALIGN(64 / 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) } .gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) } /* 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) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3 */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } /* DWARF Extension. */ .debug_macro 0 : { *(.debug_macro) } .debug_addr 0 : { *(.debug_addr) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } ================================================== /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../x86_64-pc-linux-gnu/bin/ld: mode elf_x86_64 attempt to open /usr/lib/x86_64-linux-gnu/crt1.o succeeded /usr/lib/x86_64-linux-gnu/crt1.o attempt to open /usr/lib/x86_64-linux-gnu/crti.o succeeded /usr/lib/x86_64-linux-gnu/crti.o attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/crtbegin.o succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/crtbegin.o attempt to open ldecod_src/nal.o succeeded ldecod_src/nal.o attempt to open ldecod_src/mbuffer_mvc.o succeeded ldecod_src/mbuffer_mvc.o attempt to open ldecod_src/image.o succeeded ldecod_src/image.o attempt to open ldecod_src/mb_access.o succeeded ldecod_src/mb_access.o attempt to open ldecod_src/memalloc.o succeeded ldecod_src/memalloc.o attempt to open ldecod_src/mc_prediction.o succeeded ldecod_src/mc_prediction.o attempt to open ldecod_src/mb_prediction.o succeeded ldecod_src/mb_prediction.o attempt to open ldecod_src/intra4x4_pred_mbaff.o succeeded ldecod_src/intra4x4_pred_mbaff.o attempt to open ldecod_src/loop_filter_mbaff.o succeeded ldecod_src/loop_filter_mbaff.o attempt to open ldecod_src/context_ini.o succeeded ldecod_src/context_ini.o attempt to open ldecod_src/configfile.o succeeded ldecod_src/configfile.o attempt to open ldecod_src/cabac.o succeeded ldecod_src/cabac.o attempt to open ldecod_src/sei.o succeeded ldecod_src/sei.o attempt to open ldecod_src/leaky_bucket.o succeeded ldecod_src/leaky_bucket.o attempt to open ldecod_src/filehandle.o succeeded ldecod_src/filehandle.o attempt to open ldecod_src/errorconcealment.o succeeded ldecod_src/errorconcealment.o attempt to open ldecod_src/decoder_test.o succeeded ldecod_src/decoder_test.o /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../x86_64-pc-linux-gnu/bin/ld: ldecod_src/decoder_test.o:(.bss+0x0): multiple definition of `cfgparams'; ldecod_src/configfile.o:(.bss+0x0): first defined here attempt to open ldecod_src/img_process.o succeeded ldecod_src/img_process.o attempt to open ldecod_src/mv_prediction.o succeeded ldecod_src/mv_prediction.o attempt to open ldecod_src/fmo.o succeeded ldecod_src/fmo.o attempt to open ldecod_src/output.o succeeded ldecod_src/output.o attempt to open ldecod_src/mc_direct.o succeeded ldecod_src/mc_direct.o attempt to open ldecod_src/rtp.o succeeded ldecod_src/rtp.o attempt to open ldecod_src/nalucommon.o succeeded ldecod_src/nalucommon.o attempt to open ldecod_src/config_common.o succeeded ldecod_src/config_common.o /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../x86_64-pc-linux-gnu/bin/ld: ldecod_src/config_common.o:(.bss+0x0): multiple definition of `cfgparams'; ldecod_src/configfile.o:(.bss+0x0): first defined here attempt to open ldecod_src/intra_chroma_pred.o succeeded ldecod_src/intra_chroma_pred.o attempt to open ldecod_src/transform8x8.o succeeded ldecod_src/transform8x8.o attempt to open ldecod_src/blk_prediction.o succeeded ldecod_src/blk_prediction.o attempt to open ldecod_src/intra8x8_pred_mbaff.o succeeded ldecod_src/intra8x8_pred_mbaff.o attempt to open ldecod_src/erc_do_i.o succeeded ldecod_src/erc_do_i.o attempt to open ldecod_src/io_tiff.o succeeded ldecod_src/io_tiff.o attempt to open ldecod_src/mbuffer.o succeeded ldecod_src/mbuffer.o attempt to open ldecod_src/block.o succeeded ldecod_src/block.o attempt to open ldecod_src/intra4x4_pred.o succeeded ldecod_src/intra4x4_pred.o attempt to open ldecod_src/transform.o succeeded ldecod_src/transform.o attempt to open ldecod_src/annexb.o succeeded ldecod_src/annexb.o attempt to open ldecod_src/ldecod.o succeeded ldecod_src/ldecod.o attempt to open ldecod_src/macroblock.o succeeded ldecod_src/macroblock.o attempt to open ldecod_src/vlc.o succeeded ldecod_src/vlc.o attempt to open ldecod_src/parset.o succeeded ldecod_src/parset.o attempt to open ldecod_src/loop_filter_normal.o succeeded ldecod_src/loop_filter_normal.o attempt to open ldecod_src/parsetcommon.o succeeded ldecod_src/parsetcommon.o attempt to open ldecod_src/erc_do_p.o succeeded ldecod_src/erc_do_p.o attempt to open ldecod_src/loopFilter.o succeeded ldecod_src/loopFilter.o attempt to open ldecod_src/intra16x16_pred_mbaff.o succeeded ldecod_src/intra16x16_pred_mbaff.o attempt to open ldecod_src/intra4x4_pred_normal.o succeeded ldecod_src/intra4x4_pred_normal.o attempt to open ldecod_src/intra16x16_pred_normal.o succeeded ldecod_src/intra16x16_pred_normal.o attempt to open ldecod_src/win32.o succeeded ldecod_src/win32.o attempt to open ldecod_src/intra16x16_pred.o succeeded ldecod_src/intra16x16_pred.o attempt to open ldecod_src/intra8x8_pred_normal.o succeeded ldecod_src/intra8x8_pred_normal.o attempt to open ldecod_src/io_raw.o succeeded ldecod_src/io_raw.o attempt to open ldecod_src/img_io.o succeeded ldecod_src/img_io.o attempt to open ldecod_src/nalu.o succeeded ldecod_src/nalu.o attempt to open ldecod_src/quant.o succeeded ldecod_src/quant.o attempt to open ldecod_src/intra8x8_pred.o succeeded ldecod_src/intra8x8_pred.o attempt to open ldecod_src/erc_api.o succeeded ldecod_src/erc_api.o attempt to open ldecod_src/header.o succeeded ldecod_src/header.o attempt to open ldecod_src/biaridecod.o succeeded ldecod_src/biaridecod.o attempt to open ldecod_src/input.o succeeded ldecod_src/input.o attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libm.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libm.a failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libm.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libm.a failed attempt to open /lib/x86_64-linux-gnu/libm.so failed attempt to open /lib/x86_64-linux-gnu/libm.a failed attempt to open /lib/../lib64/libm.so failed attempt to open /lib/../lib64/libm.a failed attempt to open /usr/lib/x86_64-linux-gnu/libm.so succeeded opened script file /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libm.so opened script file /usr/lib/x86_64-linux-gnu/libm.so attempt to open /lib/x86_64-linux-gnu/libm.so.6 succeeded /lib/x86_64-linux-gnu/libm.so.6 attempt to open /usr/lib/x86_64-linux-gnu/libmvec_nonshared.a succeeded /usr/lib/x86_64-linux-gnu/libmvec_nonshared.a attempt to open /lib/x86_64-linux-gnu/libmvec.so.1 succeeded /lib/x86_64-linux-gnu/libmvec.so.1 /usr/lib/x86_64-linux-gnu/libmvec_nonshared.a /lib/x86_64-linux-gnu/libmvec.so.1 attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc_s.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc_s.a failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so succeeded opened script file /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so opened script file /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so.1 succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so.1 attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libc.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libc.a failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libc.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libc.a failed attempt to open /lib/x86_64-linux-gnu/libc.so failed attempt to open /lib/x86_64-linux-gnu/libc.a failed attempt to open /lib/../lib64/libc.so failed attempt to open /lib/../lib64/libc.a failed attempt to open /usr/lib/x86_64-linux-gnu/libc.so succeeded opened script file /usr/lib/x86_64-linux-gnu/libc.so /usr/lib/x86_64-linux-gnu/libc.so opened script file /usr/lib/x86_64-linux-gnu/libc.so attempt to open /lib/x86_64-linux-gnu/libc.so.6 succeeded /lib/x86_64-linux-gnu/libc.so.6 attempt to open /usr/lib/x86_64-linux-gnu/libc_nonshared.a succeeded /usr/lib/x86_64-linux-gnu/libc_nonshared.a (/usr/lib/x86_64-linux-gnu/libc_nonshared.a)elf-init.oS attempt to open /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 succeeded /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /usr/lib/x86_64-linux-gnu/libc_nonshared.a /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc_s.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc_s.a failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so succeeded opened script file /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so opened script file /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so.1 succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../lib64/libgcc_s.so.1 attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.so failed attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/libgcc.a attempt to open /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/crtend.o succeeded /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/crtend.o attempt to open /usr/lib/x86_64-linux-gnu/crtn.o succeeded /usr/lib/x86_64-linux-gnu/crtn.o ld-linux-x86-64.so.2 needed by /lib/x86_64-linux-gnu/libm.so.6 found ld-linux-x86-64.so.2 at /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /home/gary/gcc_virgin_build/install/lib/gcc/x86_64-pc-linux-gnu/11.0.1/../../../../x86_64-pc-linux-gnu/bin/ld: link errors found, deleting executable `ldecod_r' collect2: error: ld returned 1 exit status specmake: *** [/home/gary/spec/cpu2017/benchspec/Makefile.defaults:337: ldecod_r] Error 1 Thanks Gary CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and contains information that is confidential and proprietary to Ampere Computing or its subsidiaries. It is to be used solely for the purpose of furthering the parties' business relationship. Any unauthorized review, copying, or distribution of this email (or any attachments thereto) is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently delete the original and any copies of this email and any attachments thereto.