All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arvind Sankar <nivedita@alum.mit.edu>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Arvind Sankar <nivedita@alum.mit.edu>,
	Ard Biesheuvel <ardb@kernel.org>,
	linux-efi <linux-efi@vger.kernel.org>
Subject: Re: [PATCH 0/3] Relocate GOT before calling EFI stub
Date: Tue, 7 Jan 2020 13:08:08 -0500	[thread overview]
Message-ID: <20200107180807.GA1642410@rani.riverdale.lan> (raw)
In-Reply-To: <CAKv+Gu-PU=LqT7MEbSH-0GnJOdakDeaC=ANdmag6JptcfJEJtA@mail.gmail.com>

On Tue, Jan 07, 2020 at 06:59:57PM +0100, Ard Biesheuvel wrote:
> On Tue, 7 Jan 2020 at 18:58, Arvind Sankar <nivedita@alum.mit.edu> wrote:
> >
> > On Tue, Jan 07, 2020 at 03:28:31PM +0100, Ard Biesheuvel wrote:
> > >
> > > Unfortunately, the command line option implements a weaker form of
> > > visibility than the pragma, so it probably comes down to setting the
> > > pragma in a .h file that gets -include'd via the command line so it is
> > > guaranteed to be seen first.
> >
> > Tried hacking that in and it works, tested with gcc 4.6.4.
> 
> Excellent. But in my testing locally, I don't get any GOT entries in
> the first place, strangely enough. So what changes in the output for
> you with visibility hidden compared to before?

Works with 32-bit as well.

Are you checking libstub or boot/compressed? Below is with gcc 4.6 (but
latest binutils). With gcc 9, there's only one left -- trampoline_32bit_src
in pgtable_64.

acpi.o
000000000000025b R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
cmdline.o
00000000000001d3 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
00000000000001f3 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
0000000000000223 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
cpuflags.o
00000000000000a3 R_X86_64_REX_GOTPCRELX  cpu_vendor-0x0000000000000004
00000000000000c5 R_X86_64_REX_GOTPCRELX  cpu-0x0000000000000004
0000000000000127 R_X86_64_REX_GOTPCRELX  cpu-0x0000000000000004
0000000000000144 R_X86_64_REX_GOTPCRELX  cpu-0x0000000000000004
0000000000000153 R_X86_64_REX_GOTPCRELX  cpu-0x0000000000000004
000000000000017b R_X86_64_REX_GOTPCRELX  cpu-0x0000000000000004
early_serial_console.o
000000000000005a R_X86_64_REX_GOTPCRELX  early_serial_base-0x0000000000000004
0000000000000165 R_X86_64_REX_GOTPCRELX  early_serial_base-0x0000000000000004
eboot.o
efi_thunk_64.o
error.o
head_64.o
kaslr_64.o
00000000000001e7 R_X86_64_REX_GOTPCRELX  ptrs_per_p4d-0x0000000000000004
0000000000000372 R_X86_64_REX_GOTPCRELX  __default_kernel_pte_mask-0x0000000000000004
000000000000038b R_X86_64_REX_GOTPCRELX  pgdir_shift-0x0000000000000004
00000000000003ac R_X86_64_REX_GOTPCRELX  __pgtable_l5_enabled-0x0000000000000004
000000000000040a R_X86_64_REX_GOTPCRELX  __pgtable_l5_enabled-0x0000000000000004
00000000000004db R_X86_64_REX_GOTPCRELX  __force_order-0x0000000000000004
00000000000004f2 R_X86_64_REX_GOTPCRELX  __pgtable_l5_enabled-0x0000000000000004
0000000000000517 R_X86_64_REX_GOTPCRELX  _pgtable-0x0000000000000004
00000000000005f3 R_X86_64_REX_GOTPCRELX  __force_order-0x0000000000000004
kaslr.o
0000000000000281 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
00000000000003e3 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
0000000000000ba1 R_X86_64_REX_GOTPCRELX  __force_order-0x0000000000000004
0000000000000bb4 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
0000000000000cc8 R_X86_64_REX_GOTPCRELX  free_mem_ptr-0x0000000000000004
0000000000000cd2 R_X86_64_REX_GOTPCRELX  free_mem_end_ptr-0x0000000000000004
0000000000000d6e R_X86_64_REX_GOTPCRELX  free_mem_ptr-0x0000000000000004
0000000000000f63 R_X86_64_REX_GOTPCRELX  __pgtable_l5_enabled-0x0000000000000004
kernel_info.o
mem_encrypt.o
misc.o
0000000000000015 R_X86_64_REX_GOTPCRELX  free_mem_ptr-0x0000000000000004
000000000000001f R_X86_64_REX_GOTPCRELX  free_mem_end_ptr-0x0000000000000004
0000000000002965 R_X86_64_REX_GOTPCRELX  early_serial_base-0x0000000000000004
0000000000002a43 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
0000000000002b8e R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
0000000000002bec R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
0000000000002c10 R_X86_64_REX_GOTPCRELX  free_mem_end_ptr-0x0000000000000004
0000000000002c17 R_X86_64_REX_GOTPCRELX  free_mem_ptr-0x0000000000000004
0000000000002d16 R_X86_64_REX_GOTPCRELX  trampoline_32bit-0x0000000000000004
0000000000002f97 R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
0000000000002fea R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
pgtable_64.o
000000000000000d R_X86_64_REX_GOTPCRELX  boot_params-0x0000000000000004
000000000000010a R_X86_64_REX_GOTPCRELX  trampoline_32bit_src-0x0000000000000004
0000000000000191 R_X86_64_REX_GOTPCRELX  __force_order-0x0000000000000004
0000000000000376 R_X86_64_REX_GOTPCRELX  __force_order-0x0000000000000004
piggy.o
string.o

  reply	other threads:[~2020-01-07 18:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-07 13:54 [PATCH 0/3] Relocate GOT before calling EFI stub Arvind Sankar
2020-01-07 13:54 ` [PATCH 1/3] x86/boot/compressed/64: Make adjust_got easier to use repeatedly Arvind Sankar
2020-01-07 13:54 ` [PATCH 2/3] x86/boot/compressed/32: Allow adjust_got to be called repeatedly Arvind Sankar
2020-01-07 13:55 ` [PATCH 3/3] x86/boot: Perform GOT relocation before calling EFI stub Arvind Sankar
2020-01-07 14:01 ` [PATCH 0/3] Relocate GOT " Ard Biesheuvel
2020-01-07 14:13   ` Ard Biesheuvel
2020-01-07 14:21     ` Arvind Sankar
2020-01-07 14:24       ` Ard Biesheuvel
2020-01-07 14:27         ` Arvind Sankar
2020-01-07 14:28           ` Ard Biesheuvel
2020-01-07 17:58             ` Arvind Sankar
2020-01-07 17:59               ` Ard Biesheuvel
2020-01-07 18:08                 ` Arvind Sankar [this message]
2020-01-07 18:10                   ` Ard Biesheuvel
2020-01-07 18:32                     ` Arvind Sankar
2020-01-07 19:03                       ` Ard Biesheuvel
2020-01-07 19:14                         ` Arvind Sankar
2020-01-07 19:23                           ` Ard Biesheuvel
2020-01-07 19:51                             ` Ard Biesheuvel
2020-01-07 20:00                               ` Arvind Sankar

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=20200107180807.GA1642410@rani.riverdale.lan \
    --to=nivedita@alum.mit.edu \
    --cc=ard.biesheuvel@linaro.org \
    --cc=ardb@kernel.org \
    --cc=linux-efi@vger.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.