[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220415021853.vnavjq6u6ibgva2l@treble>
Date: Thu, 14 Apr 2022 19:18:53 -0700
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: x86@...nel.org, linux-kernel@...r.kernel.org,
Miroslav Benes <mbenes@...e.cz>
Subject: Re: [PATCH 17/18] objtool: Remove --lto and --vmlinux
On Thu, Apr 14, 2022 at 10:13:50AM +0200, Peter Zijlstra wrote:
> On Wed, Apr 13, 2022 at 04:19:52PM -0700, Josh Poimboeuf wrote:
>
> > @@ -131,6 +131,12 @@ static inline u32 reloc_hash(struct reloc *reloc)
> > return sec_offset_hash(reloc->sec, reloc->offset);
> > }
> >
> > +/* is it a whole archive (vmlinux.o or module)? */
> > +static inline bool is_linked_object(struct elf *elf)
> > +{
> > + return elf->num_files > 1;
> > +}
> > +
> > struct elf *elf_open_read(const char *name, int flags);
> > struct section *elf_create_section(struct elf *elf, const char *name, unsigned int sh_flags, size_t entsize, int nr);
>
> Ooh, nice... yes, that was the entire point of --lto.
Urgh, some kernel modules only have a single source file, which
obviously breaks this.
We might need an explicit --link option after all. But with different
semantics from --lto. It would just mean "is a linked object".
--
Josh
Powered by blists - more mailing lists