From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24421 invoked by alias); 2 Apr 2014 19:11:30 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 24405 invoked by uid 89); 2 Apr 2014 19:11:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-vc0-f174.google.com Received: from mail-vc0-f174.google.com (HELO mail-vc0-f174.google.com) (209.85.220.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 02 Apr 2014 19:11:28 +0000 Received: by mail-vc0-f174.google.com with SMTP id ld13so946146vcb.5 for ; Wed, 02 Apr 2014 12:11:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=PeySVnIBOAQzy0KkSzvuo7AmwiuV3g2XdppFSVkAjU8=; b=L/mNIb2y8Gik/+GJdXWm6WWO9cXQpewnWuwhGkRrAH0PQmk+NvctXebhQKKCxz2Cte AbGpeABPWK6vZuNjz9H+HtnOLNa/6ewLIMRjwM5iPo9bnCcUyZDk6M71JPsNBa00+0m4 xlr/JvYfuwBpkUimnodcAdvTWBhVYeV5raWhZXcoCqFkAJ/xEJPaah45JlwKwwEzFCuw tqVRWglHoBOPwibhOwAbs5cu5cMjcc3vJ8XFsx6scCpEbNQJexcpU1x5AWNZDrDB+Y1M 94vWQBKdG5WO2cEq851+L5aKufsVGZMsgq9fFOZsjyrlpNu4C95Ti8QvEWLGFz039X8O 4PWg== X-Gm-Message-State: ALoCoQn4jkwugkXB4xkCubc8XEq82W6PreUz/ZWl/iHHzmmY3kbfTKBaMRkN9axmGSaMUuWgHvfXzmqonxzZ2CChtC+BxPA5xNjA56p+Ep+J7GgvherB4xQsq7hnNjk8z4CZWzS2gXi8Bj9ZV93IwNATmYeblMBRVEbGooN2o5LxqfaQyXeMpt+ZYNaZoEwhlGt+DnX6oXb9GAvVWNS+aXlRFu2GFU+InQ== MIME-Version: 1.0 X-Received: by 10.52.142.10 with SMTP id rs10mr2486271vdb.3.1396465885104; Wed, 02 Apr 2014 12:11:25 -0700 (PDT) Received: by 10.52.184.202 with HTTP; Wed, 2 Apr 2014 12:11:24 -0700 (PDT) In-Reply-To: References: <20140402065443.GA18201@bubble.grove.modra.org> Date: Wed, 02 Apr 2014 19:11:00 -0000 Message-ID: Subject: Re: ICF on PowerPC Bug From: Sriraman Tallam To: Sriraman Tallam , binutils , Ian Lance Taylor , Cary Coutant Content-Type: multipart/mixed; boundary=bcaec51a719006086104f6140d82 X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg00024.txt.bz2 --bcaec51a719006086104f6140d82 Content-Type: text/plain; charset=UTF-8 Content-length: 2270 Attached patch to fix the PPC ICF problem by using references to the reloc info vectors. Ok to commit? Thanks Sri On Wed, Apr 2, 2014 at 9:49 AM, Sriraman Tallam wrote: > On Tue, Apr 1, 2014 at 11:54 PM, Alan Modra wrote: >> On Tue, Apr 01, 2014 at 03:06:37PM -0700, Sriraman Tallam wrote: >>> because fold2 is folded onto fold1. The only way to differentiate >>> fold1 and fold2 which have the same object code is via the relocation >>> type and the Info value is different. However, with powerpc this is >>> rewritten here in icf.cc: >>> >>> // Look through function descriptors >>> parameters->target().function_location(&loc); >>> if (loc.shndx != it_v->second) >>> { >>> it_v->second = loc.shndx; >>> // Modify symvalue/addend to the code entry. >>> it_a->first = loc.offset; >>> it_a->second = 0; >>> } >>> >>> I am not sure how to fix it. >> >> The following patch fixes the problem, but did you really mean to copy >> all the vectors here? > > Yikes!, no did not intend that. I will make these references and send a patch. > > Thanks > Sri > >> >> Icf::Sections_reachable_info v = >> (it_reloc_info_list->second).section_info; >> // Stores the information of the symbol pointed to by the reloc. >> Icf::Symbol_info s = (it_reloc_info_list->second).symbol_info; >> // Stores the addend and the symbol value. >> Icf::Addend_info a = (it_reloc_info_list->second).addend_info; >> // Stores the offset of the reloc. >> Icf::Offset_info o = (it_reloc_info_list->second).offset_info; >> Icf::Reloc_addend_size_info reloc_addend_size_info = >> (it_reloc_info_list->second).reloc_addend_size_info; >> >> >> diff --git a/gold/icf.cc b/gold/icf.cc >> index f30eb41..920514c 100644 >> --- a/gold/icf.cc >> +++ b/gold/icf.cc >> @@ -288,8 +288,7 @@ get_section_contents(bool first_iteration, >> >> for (; it_v != v.end(); ++it_v, ++it_s, ++it_a, ++it_o, ++it_addend_size) >> { >> - if (first_iteration >> - && it_v->first != NULL) >> + if (it_v->first != NULL) >> { >> Symbol_location loc; >> loc.object = it_v->first; >> >> -- >> Alan Modra >> Australia Development Lab, IBM --bcaec51a719006086104f6140d82 Content-Type: text/plain; charset=US-ASCII; name="icf_fix.txt" Content-Disposition: attachment; filename="icf_fix.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_htizor050 Content-length: 2009 CSogaWNmLmNjIChnZXRfc2VjdGlvbl9jb250ZW50cyk6IFVzZSByZWZlcmVu Y2VzIHRvIHJlbG9jX2luZm8KCXZlY3RvcnMgdG8gYXZvaWQgY29waWVzLgoK SW5kZXg6IGljZi5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl OiAvY3ZzL3NyYy9zcmMvZ29sZC9pY2YuY2MsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMjEKZGlmZiAtdSAtcCAtcjEuMjEgaWNmLmNjCi0tLSBpY2YuY2MJ MTUgTWFyIDIwMTMgMDc6NTE6MzIgLTAwMDAJMS4yMQorKysgaWNmLmNjCTIg QXByIDIwMTQgMTk6MDg6MjggLTAwMDAKQEAgLTI2OSwxNSArMjY5LDE1IEBA IGdldF9zZWN0aW9uX2NvbnRlbnRzKGJvb2wgZmlyc3RfaXRlcmF0aW8KIAog ICBpZiAoaXRfcmVsb2NfaW5mb19saXN0ICE9IHJlbG9jX2luZm9fbGlzdC5l bmQoKSkKICAgICB7Ci0gICAgICBJY2Y6OlNlY3Rpb25zX3JlYWNoYWJsZV9p bmZvIHYgPQorICAgICAgSWNmOjpTZWN0aW9uc19yZWFjaGFibGVfaW5mbyAm diA9CiAgICAgICAgIChpdF9yZWxvY19pbmZvX2xpc3QtPnNlY29uZCkuc2Vj dGlvbl9pbmZvOwogICAgICAgLy8gU3RvcmVzIHRoZSBpbmZvcm1hdGlvbiBv ZiB0aGUgc3ltYm9sIHBvaW50ZWQgdG8gYnkgdGhlIHJlbG9jLgotICAgICAg SWNmOjpTeW1ib2xfaW5mbyBzID0gKGl0X3JlbG9jX2luZm9fbGlzdC0+c2Vj b25kKS5zeW1ib2xfaW5mbzsKKyAgICAgIEljZjo6U3ltYm9sX2luZm8gJnMg PSAoaXRfcmVsb2NfaW5mb19saXN0LT5zZWNvbmQpLnN5bWJvbF9pbmZvOwog ICAgICAgLy8gU3RvcmVzIHRoZSBhZGRlbmQgYW5kIHRoZSBzeW1ib2wgdmFs dWUuCi0gICAgICBJY2Y6OkFkZGVuZF9pbmZvIGEgPSAoaXRfcmVsb2NfaW5m b19saXN0LT5zZWNvbmQpLmFkZGVuZF9pbmZvOworICAgICAgSWNmOjpBZGRl bmRfaW5mbyAmYSA9IChpdF9yZWxvY19pbmZvX2xpc3QtPnNlY29uZCkuYWRk ZW5kX2luZm87CiAgICAgICAvLyBTdG9yZXMgdGhlIG9mZnNldCBvZiB0aGUg cmVsb2MuCi0gICAgICBJY2Y6Ok9mZnNldF9pbmZvIG8gPSAoaXRfcmVsb2Nf aW5mb19saXN0LT5zZWNvbmQpLm9mZnNldF9pbmZvOwotICAgICAgSWNmOjpS ZWxvY19hZGRlbmRfc2l6ZV9pbmZvIHJlbG9jX2FkZGVuZF9zaXplX2luZm8g PQorICAgICAgSWNmOjpPZmZzZXRfaW5mbyAmbyA9IChpdF9yZWxvY19pbmZv X2xpc3QtPnNlY29uZCkub2Zmc2V0X2luZm87CisgICAgICBJY2Y6OlJlbG9j X2FkZGVuZF9zaXplX2luZm8gJnJlbG9jX2FkZGVuZF9zaXplX2luZm8gPQog ICAgICAgICAoaXRfcmVsb2NfaW5mb19saXN0LT5zZWNvbmQpLnJlbG9jX2Fk ZGVuZF9zaXplX2luZm87CiAgICAgICBJY2Y6OlNlY3Rpb25zX3JlYWNoYWJs ZV9pbmZvOjppdGVyYXRvciBpdF92ID0gdi5iZWdpbigpOwogICAgICAgSWNm OjpTeW1ib2xfaW5mbzo6aXRlcmF0b3IgaXRfcyA9IHMuYmVnaW4oKTsK --bcaec51a719006086104f6140d82--