[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180907130837.mjbfmqffhoevjuep@treble>
Date: Fri, 7 Sep 2018 08:08:37 -0500
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Allan Xavier <allan.x.xavier@...cle.com>
Cc: Peter Zijlstra <peterz@...radead.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] objtool: Support multiple rodata sections.
On Wed, Aug 29, 2018 at 06:04:12PM +0100, Allan Xavier wrote:
> This commit adds support for processing switch jump tables in objects
> with multiple .rodata sections, such as those created when using
> -ffunction-sections and -fdata-sections. Currently, objtool always
> looks in .rodata for jump table information which results in many
> "sibling call from callable instruction with modified stack frame"
> warnings with objects compiled using those flags.
>
> The fix is comprised of three parts:
>
> 1. Flagging all .rodata sections when importing elf information for
> easier checking later.
>
> 2. Keeping a reference to the section each relocation is from in order
> to get the list_head for the other relocations in that section.
>
> 3. Finding jump tables by following relocations to .rodata sections,
> rather than always referencing a single global .rodata section.
>
> The patch has been tested without data sections enabled and no
> differences in the resulting orc unwind information were seen.
>
> Note that as objtool adds terminators to end of each .text section the
> unwind information generated between a function+data sections build and
> a normal build aren't directly comparable. Manual inspection suggests
> that objtool is now generating the correct information, or at least
> making more of an effort to do so than it did previously.
>
> Signed-off-by: Allan Xavier <allan.x.xavier@...cle.com>
> ---
>
> Changes since v2:
> - Reworked and commented mark_rodata as suggested.
>
> Changes since v1:
> - Cleaned up section symbol check.
> - Fixed brackets.
> - Moved mark_rodata to decode_sections().
> - Excluded *.str1.[18] sections from rodata sections.
Thanks, looks good. I'll submit it to the -tip tree.
--
Josh
Powered by blists - more mailing lists