All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <natechancellor@gmail.com>
To: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	Nick Desaulniers <ndesaulniers@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Miroslav Benes <mbenes@suse.cz>
Subject: Re: [PATCH] objtool: Don't fail on missing symbol table
Date: Thu, 14 Jan 2021 15:32:04 -0700	[thread overview]
Message-ID: <20210114223204.GA1984019@ubuntu-m3-large-x86> (raw)
In-Reply-To: <a96c3f76173c7021a2298bd73362313736e674b6.1610663051.git.jpoimboe@redhat.com>

On Thu, Jan 14, 2021 at 04:24:15PM -0600, Josh Poimboeuf wrote:
> Thanks to a recent binutils change which doesn't generate unused
> symbols, it's now possible for thunk_64.o be completely empty with
> CONFIG_PREEMPTION: no text, no data, no symbols.
> 
> We could edit the Makefile to only build that file when
> CONFIG_PREEMPTION is enabled, but that will likely create confusion
> if/when the thunks end up getting used by some other code again.
> 
> Just ignore it and move on.
> 
> Reported-by: Nathan Chancellor <natechancellor@gmail.com>
> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>

Thanks for the quick fix!

Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>

Is it worth a cc to stable given that I hit this in 5.4? I suppose it is
not super critical now but it seems like someone might eventually hit
this as times goes on and binutils 2.37 becomes more common.

> ---
>  tools/objtool/elf.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
> index be89c741ba9a..2b0f4f52f7b5 100644
> --- a/tools/objtool/elf.c
> +++ b/tools/objtool/elf.c
> @@ -380,8 +380,11 @@ static int read_symbols(struct elf *elf)
>  
>  	symtab = find_section_by_name(elf, ".symtab");
>  	if (!symtab) {
> -		WARN("missing symbol table");
> -		return -1;
> +		/*
> +		 * A missing symbol table is actually possible if it's an empty
> +		 * .o file.  This can happen for thunk_64.o.
> +		 */
> +		return 0;
>  	}
>  
>  	symtab_shndx = find_section_by_name(elf, ".symtab_shndx");
> -- 
> 2.29.2
> 

  reply	other threads:[~2021-01-14 22:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 22:24 [PATCH] objtool: Don't fail on missing symbol table Josh Poimboeuf
2021-01-14 22:32 ` Nathan Chancellor [this message]
2021-01-15 11:31 ` Miroslav Benes
2021-01-15 15:32   ` Josh Poimboeuf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210114223204.GA1984019@ubuntu-m3-large-x86 \
    --to=natechancellor@gmail.com \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=ndesaulniers@google.com \
    --cc=peterz@infradead.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.