public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Han Shen <shenhan@google.com>
To: Andrew Pinski <pinskia@gmail.com>
Cc: binutils <binutils@sourceware.org>,
	Cary Coutant <ccoutant@gmail.com>,
		Luis Lozano <llozano@google.com>
Subject: Re: [gold][aarch64]: Erratum 843419 optimized fix
Date: Mon, 18 Jul 2016 16:46:00 -0000	[thread overview]
Message-ID: <CACkGtri0jy=YocqcpTgT7ceE+Ogd9ZsbThvh8eTtE8VYpq_sTw@mail.gmail.com> (raw)
In-Reply-To: <CA+=Sn1kwk5CXGSmMNYkKcaxxJq2g4OCfB7agDYerq00nsaSnkA@mail.gmail.com>

Hi Andrew, thanks for reporting this. Could you send me the objs and
the command line? (I tried to build hhvm on aarch64 machine, seemed to
me this needs a few third_packages that need to be installed through
apt-get  (mysql, for example), since I am not a superuser on the
machine, it is not easy for me to build the whole thing from scratch
...)

On Fri, Jul 15, 2016 at 10:42 PM, Andrew Pinski <pinskia@gmail.com> wrote:
> On Thu, Jul 16, 2015 at 2:44 PM, Han Shen <shenhan@google.com> wrote:
>> Hi Cary, this is the patch for erratum 843419 fix optimization.
>>
>> Usually we apply branch-to-stub fix for all erratum. For 843419, under some
>> condition, instead of generating jumps, we re-write 'adrp' with 'adr' (only
>> applicable if adrp calculation result fits in adr range), thus break such
>> erratum sequence and eliminate performance penalty (2-jump/fix).
>>
>> Test - build on x86_64 platform and aarch64 platform using opt and debug (-O0).
>>   Pass unit tests.  Pass gold local test suite.  Pass tests from arm.
>>
>> Ok for trunk?
>
> Hi,
>   I am getting an internal error some of the time when linking HHVM :
> Erratum 843419 found and fixed at
> "../runtime/libhphp_runtime.a(bytecode.cpp.o)", section 10882, offset
> 0x0000022c.
> Erratum 843419 found and fixed at
> "../runtime/libhphp_runtime.a(unique-stubs.cpp.o)", section 7040,
> offset 0x00000218.
> Erratum 843419 found and fixed at
> "../runtime/libhphp_runtime.a(bytecode.cpp.o)", section 10882, offset
> 0x0000022c.
> Erratum 843419 found and fixed at
> "../runtime/libhphp_runtime.a(unique-stubs.cpp.o)", section 7040,
> offset 0x00000218.
> /usr/bin/ld.gold: internal error in try_fix_erratum_843419_optimized,
> at ../../gold/aarch64.cc:2007
> collect2: error: ld returned 1 exit status
>
> Is there anything which you need to debug this issue?
>
> Thanks,
> Andrew
>
>>
>> gold/ChangeLog
>>
>> 2015-07-15 Han Shen <shenhan@google.com>
>>
>>         Optimize erratum 843419 fix.
>>
>>         gold/ChangeLog: * aarch64.cc (AArch64_insn_utilities::is_adr): New
>>         method.  (AArch64_insn_utilities::aarch64_adr_encode_imm): New method.
>>         (AArch64_insn_utilities::aarch64_adrp_decode_imm): New method.
>>         (E843419_stub): New sub-class of Erratum_stub.
>>         (AArch64_relobj::try_fix_erratum_843419_optimized): New method.
>>         (AArch64_relobj::section_needs_reloc_stub_scanning): Try optimized fix.
>>         (AArch64_relobj::create_erratum_stub): Add 1 argument.
>>         (Target_aarch64::scan_erratum_843419_span): Pass in adrp insn offset.
>>
>> --
>> Han Shen



-- 
Han Shen |  Software Engineer |  shenhan@google.com |  +1-650-440-3330

  reply	other threads:[~2016-07-18 16:46 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-16 21:44 Han Shen
2015-07-20 17:21 ` Cary Coutant
2015-07-20 22:25   ` Han Shen
2016-07-16  5:43 ` Andrew Pinski
2016-07-18 16:46   ` Han Shen [this message]
2017-06-07  9:26     ` Jiong Wang
2017-06-08 10:35       ` [PATCH][gold, aarch64] Skip ERRATUM 843419 fix if the sequences have been relaxed by TLS optimization Jiong Wang
2017-06-13 22:17         ` Han Shen via binutils
2017-06-14  8:42           ` Jiong Wang
2017-06-14 18:06             ` Han Shen via binutils
2017-06-15  0:07               ` Cary Coutant
2017-06-15 10:27                 ` [COMMITTED][gold, " Jiong Wang
2017-06-15 15:25                   ` Han Shen via binutils

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='CACkGtri0jy=YocqcpTgT7ceE+Ogd9ZsbThvh8eTtE8VYpq_sTw@mail.gmail.com' \
    --to=shenhan@google.com \
    --cc=binutils@sourceware.org \
    --cc=ccoutant@gmail.com \
    --cc=llozano@google.com \
    --cc=pinskia@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).