Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: build.sh kernel does not finish with endless nbctfmerge run



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 - hannken%mailbox.org@localhost



> On 30. Mar 2024, at 15:23, Christos Zoulas <christos%zoulas.com@localhost> 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 <ryo%tetera.org@localhost> 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 // ryo%tetera.org@localhost
>> PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3
> 



Home | Main Index | Thread Index | Old Index