All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arvind Sankar <nivedita@alum.mit.edu>
To: Borislav Petkov <bp@alien8.de>
Cc: Arvind Sankar <nivedita@alum.mit.edu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Kees Cook <keescook@chromium.org>,
	Thomas Lendacky <Thomas.Lendacky@amd.com>
Subject: Re: [PATCH] x86/tools/relocs: Add _etext and __end_of_kernel_reserve to S_REL
Date: Sat, 11 Jan 2020 12:20:48 -0500	[thread overview]
Message-ID: <20200111172047.GA2688392@rani.riverdale.lan> (raw)
In-Reply-To: <20200111130243.GA23583@zn.tnic>

On Sat, Jan 11, 2020 at 02:02:43PM +0100, Borislav Petkov wrote:
> On Fri, Jan 10, 2020 at 03:50:29PM -0500, Arvind Sankar wrote:
> > On Fri, Jan 10, 2020 at 09:38:28PM +0100, Borislav Petkov wrote:
> > > On Fri, Jan 10, 2020 at 03:23:49PM -0500, Arvind Sankar wrote:
> > > > Pre-2.23 binutils makes symbols defined outside sections absolute, so
> > > > these two symbols break the build on old linkers.
> > > 
> > > -ENOTENOUGHINFO
> > > 
> > > Which old linkers, how exactly do they break the build, etc etc?
> > > 
> > > Please give exact reproduction steps.
> > > 
> > > Thx.
> > > 
> > 
> > binutils-2.21 and -2.22. An x86-64 defconfig will fail with
> > 	Invalid absolute R_X86_64_32S relocation: _etext
> > and after fixing that one, with
> > 	Invalid absolute R_X86_64_32S relocation: __end_of_kernel_reserve
> 
> I'm still not clear as to why this happens. I tried reproducing on
> openSUSE 12.1 which has
> 
> Repository: openSUSE-12.1-Oss
> Name: binutils
> Version: 2.21.1-12.1.4
> 
> and the build there fails with:
> 
> objdump: arch/x86/lib/clear_page_64.o: File format not recognized
> objdump: arch/x86/lib/cmdline.o: File format not recognized
> objdump: arch/x86/lib/cmpxchg16b_emu.o: File format not recognized
> objdump: arch/x86/lib/copy_page_64.o: File format not recognized
> objdump: arch/x86/lib/copy_user_64.o: File format not recognized
> objdump: arch/x86/lib/cpu.o: File format not recognized
> ...
> 
> and objdump is part of binutils.
> 
> Now, this looks like another symptom of what you're reporting but what
> we're missing is the rootcause about *why* this happens.
> 
> Because if the issue is hard to fix or similar, then we probably should
> raise the minimum supported binutils version from 2.21 to something
> newer and not do this fix.
> 
> But before we do that, we need a proper analysis as to why it happens.
> 
> Also, what distro are you using to reproduce it on?
> 
> Thx.
> 

I'm not sure if that's the same issue. The root cause for the one I
reported is described in more detail in [1], and the change that makes
these symbols no longer absolute is commit d2667025dd30 in binutils-gdb
(sourceware.org seems to be taking too long to respond from here so I
don't have the web link).

I'm running gentoo, but building the kernel using binutils-2.21.1
compiled from the GNU source tarball, and gcc-4.6.4 again compiled from
source. (It's not something I normally need but I was investigating
something else to see what exactly happens with older toolchains.)

I used the below to compile the kernel (I added in
readelf/objdump/objcopy just now, and it does build until the relocs
error). The config is x86-64 defconfig with CONFIG_RETPOLINE overridden
to n (since gcc 4.6.4 doesn't support retpoline).

make O=~/kernel64 -j LD=~/old/bin/ld AS=~/old/bin/as READELF=~/old/bin/readelf \
	OBJDUMP=~/old/bin/objdump OBJCOPY=~/old/bin/objcopy GCC=~/old/bin/gcc

[1] https://lore.kernel.org/lkml/20200110215005.2164353-1-nivedita@alum.mit.edu/

  reply	other threads:[~2020-01-11 17:20 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-10 20:23 [PATCH] x86/tools/relocs: Add _etext and __end_of_kernel_reserve to S_REL Arvind Sankar
2020-01-10 20:38 ` Borislav Petkov
2020-01-10 20:50   ` Arvind Sankar
2020-01-10 21:50     ` [PATCH v2] " Arvind Sankar
2020-01-10 21:52       ` Arvind Sankar
2020-01-11 13:02     ` [PATCH] " Borislav Petkov
2020-01-11 17:20       ` Arvind Sankar [this message]
2020-01-11 17:32         ` Arvind Sankar
2020-01-13 13:43         ` Borislav Petkov
2020-01-13 16:13           ` Arvind Sankar
2020-01-13 16:38             ` Borislav Petkov
2020-01-13 17:59               ` Arvind Sankar
2020-01-13 18:08                 ` Borislav Petkov
2020-01-14  4:17                   ` Arvind Sankar
2020-01-14 11:25                     ` Borislav Petkov
2020-01-14 16:32                       ` Arvind Sankar
2020-01-14  4:08               ` Arvind Sankar
2020-01-13 19:53             ` [PATCH v3] x86/vmlinux: Fix vmlinux.lds.S with pre-2.23 binutils Arvind Sankar
2020-01-13 21:46               ` Tom Lendacky
2020-01-13 23:06                 ` Arvind Sankar
2020-01-14  1:53               ` Kees Cook
2020-01-14  1:57                 ` H. Peter Anvin
2020-01-14  2:20                   ` Kees Cook
2020-01-14  3:58                   ` Arvind Sankar
2020-01-14  5:05                     ` hpa
2020-01-14 16:51                 ` Borislav Petkov
2020-01-14 21:50                   ` hpa
2020-01-15  0:21                   ` Arvind Sankar
2020-01-15 12:24                     ` Borislav Petkov
2020-03-16 16:02                       ` [PATCH] Documentation/changes: Raise minimum supported binutils version to 2.23 Borislav Petkov
2020-03-16 20:54                         ` Kees Cook
2020-03-23 20:44                         ` Jason A. Donenfeld
2020-03-23 20:51                           ` Kees Cook
2020-03-23 21:11                             ` Jason A. Donenfeld
2020-03-25 17:33                               ` David Laight
2020-03-24  9:02                             ` Masahiro Yamada
2020-03-24  9:12                               ` Masahiro Yamada
2020-03-24 15:38                                 ` Arvind Sankar
2020-03-24 17:31                                   ` Masahiro Yamada
2020-03-24 21:36                                     ` Arvind Sankar
2020-03-24  9:14                               ` Borislav Petkov
2020-03-24  9:40                                 ` Masahiro Yamada
2020-03-24 12:00                                   ` Borislav Petkov
2020-03-24 16:22                                 ` Jason A. Donenfeld
2020-03-24 16:28                                   ` Borislav Petkov
2020-03-24 16:37                                     ` Linus Torvalds
2020-03-24 16:48                                       ` Borislav Petkov
2020-03-24 21:42                                         ` Arvind Sankar
2020-03-24 22:01                                           ` Arvind Sankar
2020-03-24 22:14                                           ` Linus Torvalds
2020-03-24 23:49                                             ` Arvind Sankar
2020-03-24 17:53                                       ` Kees Cook
2020-03-23 20:50                         ` [PATCH] Documentation/changes: Raise minimum supported binutilsa " Nick Desaulniers
2020-01-13 23:38       ` [PATCH] x86/tools/relocs: Add _etext and __end_of_kernel_reserve to S_REL Arvind Sankar
2020-01-10 20:56   ` Kees Cook
     [not found]     ` <CAEQFVGa4fksPRtiLtBckSgbJY_JSHr07hoy5+5w-pAYym16YVg@mail.gmail.com>
2020-01-11 19:40       ` Fwd: " Mauro Rossi

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=20200111172047.GA2688392@rani.riverdale.lan \
    --to=nivedita@alum.mit.edu \
    --cc=Thomas.Lendacky@amd.com \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --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.