tags 904796 + patch upstream
thanks

On Mon, Jul 30, 2018 at 01:37:57AM +0000, Riku Voipio wrote:
> On Sat, Jul 28, 2018 at 05:23:14PM -0400, Michael Gilbert wrote:
> > > Chromium on arm64 in Debian Stretch stopped receiving security updates.
> > > Chromium for i386, amd64 and armhf received updates for versions 67 and
> > > 68, however chromium for arm64 is stuck on version 66.
>  
> > There was a build error in crashpad on arm64 introduced by upstream
> > chromium 67.  A patch fixing that has been included with the last two
> > security uploads, so I'm not sure why those builds would have failed.
> 
> Security build logs are not available, so I missed that. I'll try to 
> reproduce.

The issue seems to be binutils in stable not supporting LR = x30 alias. I've
built a fixed version. I'm travelling now, but once I get back, I'll test the
fix and submit patch upstream. Similar issue for armhf, but we don't have
chromium/armhf on stable, so it's not as important.

Riku
description: Stretch binutils doesn't recognize LR on arm64
author: Riku Voipio

Index: chromium-browser-68.0.3440.75/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
===================================================================
--- chromium-browser-68.0.3440.75.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+++ chromium-browser-68.0.3440.75/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
@@ -312,14 +312,14 @@ CAPTURECONTEXT_SYMBOL2:
   stp x28, x29, [x0, #0x198]
 
   // The original LR can't be recovered.
-  str LR, [x0, #0x1a8]
+  str x30, [x0, #0x1a8]
 
   // Use x1 as a scratch register.
   mov x1, SP
   str x1, [x0, #0x1b0] // context->uc_mcontext.sp
 
   // The link register holds the return address for this function.
-  str LR, [x0, #0x1b8]  // context->uc_mcontext.pc
+  str x30, [x0, #0x1b8]  // context->uc_mcontext.pc
 
   // NZCV, pstate, and CPSR are synonyms.
   mrs x1, NZCV

Reply via email to