Current-Users archive

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

Re: nbctfmerge runs for hours on custom i386 kernels



In article <5E50530C-0628-46E0-9457-440804E21935%eis.cs.tu-bs.de@localhost>,
J. Hannken-Illjes <hannken%eis.cs.tu-bs.de@localhost> wrote:
>
>> On 02 Mar 2016, at 09:11, Martin Husemann <martin%duskware.de@localhost> wrote:
>> 
>> On Tue, Mar 01, 2016 at 05:42:51PM -0600, John D. Baker wrote:
>>> I have so-far observed this only on i386 and not any of the other
>>> architectures I build.
>> 
>> This is probably caused by ld.elf_so bugs. There is a pullup request
>> pending to (hopefully) fix this.
>> 
>> A simple test (and easy workaround) is to extract usr/libexec/ld.elf_so
>> from a -current i386 base.tgz and put that on your machine.
>
>For me it is nbctfconvert that creates bad ctf sections on i386 and makes
>nbctfmerge run for an hour on debug (-g) kernels.
>
>Reverting this
>
>@@ -108,5 +122,6 @@ _dwarf_elf_relocate(Dwarf_Debug dbg, Elf
>                }
> 
>-               if (sh.sh_type != SHT_RELA || sh.sh_size == 0)
>+               if ((sh.sh_type != SHT_REL && sh.sh_type != SHT_RELA) ||
>+                    sh.sh_size == 0)
>                        continue;
>
>from the recent change to
>external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c
>makes my builds happy again.
>
>Looks like the the .debug_info section gets modified to always return
>the string at offset 0. 

This is part of this change:
https://svnweb.freebsd.org/base/head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c?r1=278593&r2=278611

christos



Home | Main Index | Thread Index | Old Index