[My archive of typescripts for buildkernel and the like goes back into 2016-July currently.] Prior to the switch to powerpc64-gcc that is based on 6.2.0 none of my buildkernel logs have messages like: ERROR: ctfconvert: die <SOME NUMBER>: failed to get ref: No entry found [dwarf_attrval_unsigned(177)] As far as I can tell from my history this is new, not historical. I'm guessing ctfconvert and its libdwarf have more to do now instead of devel/powerpc64-gcc being wrong. In part this is because of the following side note. [Bugzilla 215350 is about another new ctfconvert issue as of 6.2.0 powerpc64-gcc output --but that leads to SIGSEGV in ctfconvert. Once the SIGSEGV is fixed what lead to the failing code path's use might fit in this this report, although the message might be different.] But I could be wrong. I do not know just how bad of a thing it is for some files to have ctfconvert call its terminate instead of finishing normally. Note there are historically lots of messages with text including one of: rc = -1 No entry found [dwarf_next_cu_header_c(61)] rc = -1 No entry found [dwarf_next_cu_header_c(68)] file does not contain dwarf type data (try compiling with -g) All of those also say "ERROR: ctfconvert:" in the front. It would be easier to notice the important messages if the above 3 types of messages did not also say ERROR. Then a grep for ERROR would have fewer false positives to go through. Example messasges, including the ones being reported here: (The agp_if.o messages are tied to the ctfconvert SIGSEGV case.) # grep "ERROR" /root/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_incl_clang_xtoolchain_kernel-amd64-host-2016-12-16:14:43:08 | more ERROR: ctfconvert: die 10273: failed to get ref: No entry found [dwarf_attrval_unsigned(177)] ERROR: ctfmerge: No ctf sections found to merge .ERROR_TARGET='agp_if.o' .ERROR_META_FILE='/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/sys/GENERIC64vtsc-NODBG/modules/usr/src/sys/modules/agp/agp_if.o.meta' .ERROR_TARGET='agp_if.o' .ERROR_META_FILE='/usr/obj/powerpc64vtsc_xtoolchain_kernel/powerpc.powerpc64/usr/src/sys/GENERIC64vtsc-NODBG/modules/usr/src/sys/modules/agp/agp_if.o.meta' .ERROR_TARGET='all_subdir_agp' . . . ERROR: ctfconvert: die 26932: failed to get ref: No entry found [dwarf_attrval_unsigned(177)] . . . ERROR: ctfconvert: die 46063: failed to get ref: No entry found [dwarf_attrval_unsigned(177)] . . . ERROR: ctfconvert: die 52618: failed to get ref: No entry found [dwarf_attrval_unsigned(177)] . . . Those new dwarf_attrval_unsigned(177) notes are from processing: sys/modules/accf_http/accf_http.o sys/modules/acl_posix1e/subr_acl_posix1e.o sys/modules/ae/if_ae.o sys/modules/age/if_age.o (The build stops because of the agp_if.o related SIGSEGV so there could be more.)
(In reply to Mark Millard from comment #0) I tried a buildkernel via devel/amd64-gcc and its devel/amd64-binutils and such. It also gets notices like the example below: ERROR: ctfconvert: die 23764: failed to get ref: No entry found [dwarf_attrval_unsigned(177)] This example is from: --- aac_disk.o --- Using built-in specs. COLLECT_GCC=/usr/local/bin/x86_64-unknown-freebsd12.0-gcc Target: x86_64-unknown-freebsd12.0 Configured with: /usr/obj/portswork/usr/ports/devel/amd64-gcc/work/gcc-6.2.0/configure --target=x86_64-unknown-freebsd12.0 --disable-nls --enable-languages=c,c++ --without-headers --with-gmp=/usr/local --with-pkgversion='FreeBSD Ports Collection for amd64' --with-system-zl ib --with-gcc-include-dir=/usr/include/c++/v1/ --with-as=/usr/local/bin/x86_64-freebsd-as --with-ld=/usr/local/bin/x86_64-freebsd-ld --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/man --infodir=/usr/local/info/ --build=x86_64-unknown-freebsd12.0 Thread model: posix gcc version 6.2.0 (FreeBSD Ports Collection for amd64) COLLECT_GCC_OPTIONS='-isystem' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/include' '-L/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/lib' '-B' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/lib' '-B' '/usr/local/x86_64-freebsd/bin/' '-O2' '-pipe' '-fno-strict-aliasing' '-Werror' '-D' '_KERNEL' '-D' 'KLD_MODULE' '-nostdinc' '-D' 'HAVE_KERNEL_OPTION_HEADERS' '-include' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG/opt_global.h' '-I' '.' '-I' '/usr/src/sys' '-fno-common' '-g' '-fno-omit-frame-point er' '-mno-omit-leaf-frame-pointer' '-I' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG' '-mcmodel=kernel' '-mno-red-zone' '-mno-mmx' '-mno-sse' '-msoft-float' '-fno-asynchronous-unwind-tables' '-ffreestanding' '-fwrapv' '-fstack-protector' '-gdwarf-2' '-W all' '-Wredundant-decls' '-Wnested-externs' '-Wstrict-prototypes' '-Wmissing-prototypes' '-Wpointer-arith' '-Winline' '-Wcast-qual' '-Wundef' '-Wno-pointer-sign' '-fformat-extensions' '-Wmissing-include-dirs' '-fdiagnostics-show-option' '-Wno-unknown-pragmas' '-Wno-error=a ddress' '-Wno-error=aggressive-loop-optimizations' '-Wno-error=array-bounds' '-Wno-error=attributes' '-Wno-error=cast-qual' '-Wno-error=enum-compare' '-Wno-error=inline' '-Wno-error=maybe-uninitialized' '-Wno-error=overflow' '-Wno-error=sequence-point' '-Wno-error=strict-o verflow' '-Wno-error=unused-but-set-variable' '-Wno-error=misleading-indentation' '-Wno-error=nonnull-compare' '-Wno-error=shift-overflow' '-Wno-error=tautological-compare' '-v' '-finline-limit=8000' '-fms-extensions' '--param' 'inline-unit-growth=100' '--param' 'large-fun ction-growth=1000' '-std=c99' '-c' '-o' 'aac_disk.o' '-mtune=generic' '-march=x86-64' /usr/local/libexec/gcc/x86_64-unknown-freebsd12.0/6.2.0/cc1 -quiet -nostdinc -v -I . -I /usr/src/sys -I /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG -isysroot /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp -D _KERNEL -D KLD_MODULE -D HAVE_KERNEL_OPTI ON_HEADERS -isystem /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/include -include /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG/opt_global.h /usr/src/sys/modules/aac/../../dev/aac/aac_disk.c -quiet -dumpbase aac_disk.c -mno-omit-leaf-frame-pointe r -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -mtune=generic -march=x86-64 -auxbase-strip aac_disk.o -g -gdwarf-2 -O2 -Werror -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wn o-pointer-sign -Wmissing-include-dirs -Wno-unknown-pragmas -Wno-error=address -Wno-error=aggressive-loop-optimizations -Wno-error=array-bounds -Wno-error=attributes -Wno-error=cast-qual -Wno-error=enum-compare -Wno-error=inline -Wno-error=maybe-uninitialized -Wno-error=ove rflow -Wno-error=sequence-point -Wno-error=strict-overflow -Wno-error=unused-but-set-variable -Wno-error=misleading-indentation -Wno-error=nonnull-compare -Wno-error=shift-overflow -Wno-error=tautological-compare -std=c99 -version -fno-strict-aliasing -fno-common -fno-omit -frame-pointer -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -fformat-extensions -fdiagnostics-show-option -finline-limit=8000 -fms-extensions --param inline-unit-growth=100 --param large-function-growth=1000 -o - | /usr/local/bin/x86_64-freebsd-as -v -I . -I /usr/src/sys -I /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG -o aac_disk.o GNU C99 (FreeBSD Ports Collection for amd64) version 6.2.0 (x86_64-unknown-freebsd12.0) compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 3.9.1 (tags/RELEASE_391/final 289601), GMP version 5.1.3, MPFR version 3.1.5, MPC version 1.0.3, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 #include "..." search starts here: #include <...> search starts here: . /usr/src/sys /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/include End of search list. GNU C99 (FreeBSD Ports Collection for amd64) version 6.2.0 (x86_64-unknown-freebsd12.0) compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 3.9.1 (tags/RELEASE_391/final 289601), GMP version 5.1.3, MPFR version 3.1.5, MPC version 1.0.3, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 4b2283cf33a9225d87b2fb0e7da88667 . . . --- aac_disk.o --- COMPILER_PATH=/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/lib/:/usr/local/x86_64-freebsd/bin/:/usr/local/libexec/gcc/x86_64-unknown-freebsd12.0/6.2.0/:/usr/local/libexec/gcc/x86_64-unknown-freebsd12.0/6.2.0/:/usr/local/libexec/gcc/x86_64-unknown-freebsd12.0/:/usr /local/lib/gcc/x86_64-unknown-freebsd12.0/6.2.0/:/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/ LIBRARY_PATH=/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/lib/:/usr/local/x86_64-freebsd/bin/:/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.2.0/:/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.2.0/../../../:/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/lib/: /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/lib/ COLLECT_GCC_OPTIONS='-isystem' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/include' '-L/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/lib' '-B' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/tmp/usr/lib' '-B' '/usr/local/x86_64-freebsd/bin/' '-O2' '-pipe' '-fno-strict-aliasing' '-Werror' '-D' '_KERNEL' '-D' 'KLD_MODULE' '-nostdinc' '-D' 'HAVE_KERNEL_OPTION_HEADERS' '-include' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG/opt_global.h' '-I' '.' '-I' '/usr/src/sys' '-fno-common' '-g' '-fno-omit-frame-point er' '-mno-omit-leaf-frame-pointer' '-I' '/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG' '-mcmodel=kernel' '-mno-red-zone' '-mno-mmx' '-mno-sse' '-msoft-float' '-fno-asynchronous-unwind-tables' '-ffreestanding' '-fwrapv' '-fstack-protector' '-gdwarf-2' '-W all' '-Wredundant-decls' '-Wnested-externs' '-Wstrict-prototypes' '-Wmissing-prototypes' '-Wpointer-arith' '-Winline' '-Wcast-qual' '-Wundef' '-Wno-pointer-sign' '-fformat-extensions' '-Wmissing-include-dirs' '-fdiagnostics-show-option' '-Wno-unknown-pragmas' '-Wno-error=a ddress' '-Wno-error=aggressive-loop-optimizations' '-Wno-error=array-bounds' '-Wno-error=attributes' '-Wno-error=cast-qual' '-Wno-error=enum-compare' '-Wno-error=inline' '-Wno-error=maybe-uninitialized' '-Wno-error=overflow' '-Wno-error=sequence-point' '-Wno-error=strict-o verflow' '-Wno-error=unused-but-set-variable' '-Wno-error=misleading-indentation' '-Wno-error=nonnull-compare' '-Wno-error=shift-overflow' '-Wno-error=tautological-compare' '-v' '-finline-limit=8000' '-fms-extensions' '--param' 'inline-unit-growth=100' '--param' 'large-fun ction-growth=1000' '-std=c99' '-c' '-o' 'aac_disk.o' '-mtune=generic' '-march=x86-64' ERROR: ctfconvert: die 23764: failed to get ref: No entry found [dwarf_attrval_unsigned(177)] Building /usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG/vnode_if.c
https://reviews.freebsd.org/D8920
A commit references this bug: Author: markj Date: Wed Dec 28 21:54:34 UTC 2016 New revision: 310724 URL: https://svnweb.freebsd.org/changeset/base/310724 Log: Follow DW_AT_specification when looking up DW_AT_type attributes. dwarf_attrval_*() will search the parent DIE referenced by a DW_AT_abstract_origin attribute for the value of the DW_AT_type attribute. Do the same thing for the DW_AT_specification attributes in variable definitions emitted by GCC 6.2, and ensure that we return an error rather than crashing if neither DW_AT_abstract_origin or DW_AT_specification is found when looking for the value of the DW_AT_type attribute. PR: 215350, 215395 Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D8920 Changes: head/contrib/elftoolchain/libdwarf/dwarf_attrval.c head/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3
(In reply to commit-hook from comment #3) As of head -r310794 for /usr/src and -r429946 for /usr/ports I no longer get any ctfconvert notices for "failed to get ref"/ This is true for both amd64 and powerpc64. I'm guessing this should stay open until the MFC completes
(In reply to Mark Millard from comment #4) I should have noted that devel/*-gcc had updated to be 6.3.0 based before -r429946 .
(In reply to Mark Millard from comment #4) Indeed, I'll close the PR once I've finished the MFC.
A commit references this bug: Author: markj Date: Fri Feb 3 01:32:04 UTC 2017 New revision: 313132 URL: https://svnweb.freebsd.org/changeset/base/313132 Log: MFC r310724: Follow DW_AT_specification when looking up DW_AT_type attributes. PR: 215350, 215395 Changes: _U stable/11/ stable/11/contrib/elftoolchain/libdwarf/dwarf_attrval.c stable/11/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3