I also added an abort() when _dwarf_get_reloc_size() returns on "/* unknown relocation. */" and this killed nbctfconvert() as
_dwarf_get_reloc_size () _dwarf_elf_init () dwarf_elf_init () dw_read () main () For me nbctfmerge on kernels succeeds after up to 30 minutes, but the resulting CTF sections are long too big and look very strange: Before this change I had total number of types = 30015 total number of integers = 65 total number of floats = 1 total number of pointers = 7902 total number of arrays = 3515 total number of func types = 2252 and now i have total number of types = 322862 total number of integers = 3865 total number of floats = 1 total number of pointers = 127495 total number of arrays = 14350 total number of func types = 65411 and running the merge with CTFMERGE_DEBUG_LEVEL=2 I get ERROR: nbctfmerge: Second pass for 5978 ((anon)) == 13434 -- J. Hannken-Illjes - hann...@mailbox.org > On 30. Mar 2024, at 15:23, Christos Zoulas <chris...@zoulas.com> wrote: > > I don't think that's the problem. I added abort() calls just before the > return 0 and > they never fire for me (and the kernel built has the right CTF information). > Nevertheless > I think that the relocation code is not used in the CTF code; it just parsers > the debug > dwarf into and builds CTF stabs from them. I think that the threading code in > ctf is > problematic because we had this problem in the past. > > christos > >> On Mar 29, 2024, at 9:43 PM, Ryo ONODERA <r...@tetera.org> wrote: >> >> Hi, >> >> The following two commits cause endless nbctfmerge run >> at end of build.sh kernel=GENERIC for me. >> My environment is NetBSD/amd64 10.99.10 of yesterday. >> >> Could you investigate my problem? >> >> Module Name: src >> Committed By: christos >> Date: Wed Mar 27 21:53:06 UTC 2024 >> >> Modified Files: >> src/external/bsd/elftoolchain/dist/libdwarf: libdwarf_reloc.c >> >> Log Message: >> Don't try to compile the arch-specific relocation code if we don't have the >> built-in headers (for tools) >> >> To generate a diff of this commit: >> cvs rdiff -u -r1.5 -r1.6 \ >> src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c >> >> Module Name: src >> Committed By: christos >> Date: Wed Mar 27 21:54:43 UTC 2024 >> >> Modified Files: >> src/tools: Makefile.nbincludes >> src/tools/elftoolchain/libdwarf: Makefile >> >> Log Message: >> Remove dependency to elfdefinitions.h, this is a mess, since it needs >> ${TOOL_M4} which might not be available yet. >> >> To generate a diff of this commit: >> cvs rdiff -u -r1.7 -r1.8 src/tools/Makefile.nbincludes >> cvs rdiff -u -r1.4 -r1.5 src/tools/elftoolchain/libdwarf/Makefile >> >> >> Thank you. >> >> -- >> Ryo ONODERA // r...@tetera.org >> PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3 >