Re: [tip: objtool/urgent] objtool: Fix seg fault with Clang non-section symbols
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: Re: [tip: objtool/urgent] objtool: Fix seg fault with Clang non-section symbols
- From: Steven Rostedt <rostedt@xxxxxxxxxxx>
- Date: Mon, 15 Feb 2021 16:22:09 -0500
- Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Nick Desaulniers <ndesaulniers@xxxxxxxxxx>, Xi Ruoyao <xry111@xxxxxxxxxxxxxxxx>, "# 3.4.x" <stable@xxxxxxxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxxxx>, "Peter Zijlstra (Intel)" <peterz@xxxxxxxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>, "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@xxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, linux-tip-commits@xxxxxxxxxxxxxxx
- In-reply-to: <20210215155806.bjcouvmkapj4pa4y@treble>
- References: <CAKwvOd=GHdkvAU3u6ROSgtGqC_wrkXo8siL1nZHE-qsqSx0gsw@mail.gmail.com> <YCafKVSTX9MxDBMd@kroah.com> <20210212170750.y7xtitigfqzpchqd@treble> <20210212124547.1dcf067e@gandalf.local.home> <YCfdfkoeh8i0baCj@kroah.com> <20210213091304.2dd51e5f@oasis.local.home> <20210213155203.lehuegwc3h42nebs@treble> <YCf9bnsmXqRGMn+j@kroah.com> <20210214155147.3owdimqv2lyhu6by@treble> <20210215095307.6f5fb12f@gandalf.local.home> <20210215155806.bjcouvmkapj4pa4y@treble>
On Mon, 15 Feb 2021 09:58:06 -0600
Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> On Mon, Feb 15, 2021 at 09:53:07AM -0500, Steven Rostedt wrote:
> > On Sun, 14 Feb 2021 09:51:47 -0600
> > Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >
> > > Steve, looks like recordmcount avoids referencing weak symbols directly
> > > by their function symbol. Maybe it can just skip weak symbols which
> > > don't have a section symbol, since this seems like a rare scenario.
> >
> > When does the .text.unlikely section disappear? During the creation of the
> > object, or later in the linker stage?
>
> The section is there, but the symbol associated with the section
> (".text.unlikely" symbol) isn't generated by the assembler.
>
Greg,
Does this fix the issue with you? It appears to fix it for my arch linux
VM that I created that uses binutils 2.36-3.
-- Steve
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h
index f9b19524da11..558b67f8364e 100644
--- a/scripts/recordmcount.h
+++ b/scripts/recordmcount.h
@@ -562,7 +562,7 @@ static char const * __has_rel_mcount(Elf_Shdr const *const relhdr, /* reltype */
if (w(txthdr->sh_type) != SHT_PROGBITS ||
!(_w(txthdr->sh_flags) & SHF_EXECINSTR))
return NULL;
- return txtname;
+ return shdr0->sh_size ? txtname : NULL;
}
static char const *has_rel_mcount(Elf_Shdr const *const relhdr,
[Index of Archives]
[Linux Stable Commits]
[Linux Stable Kernel]
[Linux Kernel]
[Linux USB Devel]
[Linux Video &Media]
[Linux Audio Users]
[Yosemite News]
[Linux SCSI]