From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9458 invoked by alias); 7 Aug 2012 13:25:56 -0000 Received: (qmail 9420 invoked by uid 22791); 7 Aug 2012 13:25:52 -0000 X-SWARE-Spam-Status: No, hits=-5.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-gg0-f169.google.com (HELO mail-gg0-f169.google.com) (209.85.161.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 07 Aug 2012 13:25:38 +0000 Received: by ggnf4 with SMTP id f4so1580463ggn.0 for ; Tue, 07 Aug 2012 06:25:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=W2AnnHLnrsWrnWhamwKrAFOY5bYTOOlFJ9n8cB/swfY=; b=kyXOKpvP5MGqkBALpI2maQogItnd8SzSH3oZPevIvVfBE1IIzBuUijaLRsOizW4TtS 9sSAdMHQmAcTLj4L2rWkD2M2o5aWtMlLEk3tfEEFiVrUmNN3ER2Y8GlVMKSn3f82t+Kv fbriff+nxxDXeqtpS5GHjl4JB37RjNlpi7e/SZkI2QO9oVDE4Qm1p49yFQeA54TvozdC GZtxJV1R2fkLT/9a8UVbK+WVyk0cl/4+V9ldCynz9mVXvx86Q8iWfJ5WASk1e+kAw1tG u9Smba0xt8G72gG4c1SrunLLnX2FTrNYRqB8U2UA6t0mR9mZS4KzatHFod0uRnPvUjVf 7kgQ== Received: by 10.68.231.233 with SMTP id tj9mr27693903pbc.39.1344345937043; Tue, 07 Aug 2012 06:25:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.231.233 with SMTP id tj9mr27693889pbc.39.1344345936916; Tue, 07 Aug 2012 06:25:36 -0700 (PDT) Received: by 10.68.23.10 with HTTP; Tue, 7 Aug 2012 06:25:36 -0700 (PDT) In-Reply-To: <5020D0CA.9010306@gmail.com> References: <5020D0CA.9010306@gmail.com> Date: Tue, 07 Aug 2012 13:34:00 -0000 Message-ID: Subject: Re: [GOLD] question about gold handling SPARC style .rela.plt, .rela.plt overlapping From: Ian Lance Taylor To: "WANG.Jiong" Cc: davem@davemloft.net, binutils@sourceware.org Content-Type: multipart/mixed; boundary=047d7b339db5066fbd04c6aceec9 X-System-Of-Record: true X-Gm-Message-State: ALoCoQnNGyRO2rt9dBtaVmwm+9aUw4jA0zW0+VchPs8dTXYBOwCrvQIFHmqm8cMJkr9RyibanYvfqty903GBBH9+uIRl00GHWaceh7oD8ehTUTkVhXaiac8eF/lVvqcov7Gr2ht//USx8L03N4yp97+w5yvmvIREDJBhSJQWAtTIGeeWCIM6HyLhScP11YZ3bi7oBslguzh9 X-IsSubscribed: yes 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 X-SW-Source: 2012-08/txt/msg00126.txt.bz2 --047d7b339db5066fbd04c6aceec9 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1141 On Tue, Aug 7, 2012 at 1:24 AM, WANG.Jiong wrote: > > currently, I am porting gold linker for a private target which allow > PLTREL overlapping > > ... > > So, should we always generate DT_RELA, DT_RELASZ, DT_RELAENT, and make > DT_RELA, DT_RELASZ exactly the same value as DT_JMPREL, DT_PLTRELSZ ? > > that is, for the following condition check in > Layout::add_target_dynamic_tags > > 4344 if (dyn_rel != NULL && dyn_rel->output_section() != NULL) > 4345 { > 4346 odyn->add_section_address(use_rel ? elfcpp::DT_REL : > elfcpp::DT_RELA, > 4347 dyn_rel->output_section()); > 4348 if (plt_rel != NULL > 4349 && plt_rel->output_section() != NULL > 4350 && dynrel_includes_plt) > > should we check dynrel_includes_plt even when dyn_rel == NULL ? Yes, I agree. If dynrel_includes_plt && dyn_rel == NULL && plt_rel != NULL, we should generate the DT_REL tags. I committed the attached patch. Ian 2012-08-07 Ian Lance Taylor * layout.cc (Layout::add_target_dynamic_tags): If dynrel_includes_plt but no dyn_rel, emit dynamic reloc tags for plt_rel. --047d7b339db5066fbd04c6aceec9 Content-Type: application/octet-stream; name="foo.diff" Content-Disposition: attachment; filename="foo.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h5l0uoei0 Content-length: 2859 SW5kZXg6IGxheW91dC5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvY3ZzL3NyYy9zcmMvZ29sZC9sYXlvdXQuY2MsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMjMxCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMzIKZGlm ZiAtdSAtcCAtcjEuMjMxIC1yMS4yMzIKLS0tIGxheW91dC5jYwkyMiBKdW4g MjAxMiAxODowMjoyNCAtMDAwMAkxLjIzMQorKysgbGF5b3V0LmNjCTcgQXVn IDIwMTIgMTM6MjQ6NDcgLTAwMDAJMS4yMzIKQEAgLTQzNDEsMTkgKzQzNDEs MjYgQEAgTGF5b3V0OjphZGRfdGFyZ2V0X2R5bmFtaWNfdGFncyhib29sIHVz ZQogCQkJIHVzZV9yZWwgPyBlbGZjcHA6OkRUX1JFTCA6IGVsZmNwcDo6RFRf UkVMQSk7CiAgICAgfQogCi0gIGlmIChkeW5fcmVsICE9IE5VTEwgJiYgZHlu X3JlbC0+b3V0cHV0X3NlY3Rpb24oKSAhPSBOVUxMKQorICBpZiAoKGR5bl9y ZWwgIT0gTlVMTCAmJiBkeW5fcmVsLT5vdXRwdXRfc2VjdGlvbigpICE9IE5V TEwpCisgICAgICB8fCAoZHlucmVsX2luY2x1ZGVzX3BsdAorCSAgJiYgcGx0 X3JlbCAhPSBOVUxMCisJICAmJiBwbHRfcmVsLT5vdXRwdXRfc2VjdGlvbigp ICE9IE5VTEwpKQogICAgIHsKKyAgICAgIGJvb2wgaGF2ZV9keW5fcmVsID0g ZHluX3JlbCAhPSBOVUxMICYmIGR5bl9yZWwtPm91dHB1dF9zZWN0aW9uKCkg IT0gTlVMTDsKKyAgICAgIGJvb2wgaGF2ZV9wbHRfcmVsID0gcGx0X3JlbCAh PSBOVUxMICYmIHBsdF9yZWwtPm91dHB1dF9zZWN0aW9uKCkgIT0gTlVMTDsK ICAgICAgIG9keW4tPmFkZF9zZWN0aW9uX2FkZHJlc3ModXNlX3JlbCA/IGVs ZmNwcDo6RFRfUkVMIDogZWxmY3BwOjpEVF9SRUxBLAotCQkJCWR5bl9yZWwt Pm91dHB1dF9zZWN0aW9uKCkpOwotICAgICAgaWYgKHBsdF9yZWwgIT0gTlVM TAotCSAgJiYgcGx0X3JlbC0+b3V0cHV0X3NlY3Rpb24oKSAhPSBOVUxMCi0J ICAmJiBkeW5yZWxfaW5jbHVkZXNfcGx0KQotCW9keW4tPmFkZF9zZWN0aW9u X3NpemUodXNlX3JlbCA/IGVsZmNwcDo6RFRfUkVMU1ogOiBlbGZjcHA6OkRU X1JFTEFTWiwKKwkJCQkoaGF2ZV9keW5fcmVsCisJCQkJID8gZHluX3JlbC0+ b3V0cHV0X3NlY3Rpb24oKQorCQkJCSA6IHBsdF9yZWwtPm91dHB1dF9zZWN0 aW9uKCkpKTsKKyAgICAgIGVsZmNwcDo6RFQgc2l6ZV90YWcgPSB1c2VfcmVs ID8gZWxmY3BwOjpEVF9SRUxTWiA6IGVsZmNwcDo6RFRfUkVMQVNaOworICAg ICAgaWYgKGhhdmVfZHluX3JlbCAmJiBoYXZlX3BsdF9yZWwgJiYgZHlucmVs X2luY2x1ZGVzX3BsdCkKKwlvZHluLT5hZGRfc2VjdGlvbl9zaXplKHNpemVf dGFnLAogCQkJICAgICAgIGR5bl9yZWwtPm91dHB1dF9zZWN0aW9uKCksCiAJ CQkgICAgICAgcGx0X3JlbC0+b3V0cHV0X3NlY3Rpb24oKSk7CisgICAgICBl bHNlIGlmIChoYXZlX2R5bl9yZWwpCisJb2R5bi0+YWRkX3NlY3Rpb25fc2l6 ZShzaXplX3RhZywgZHluX3JlbC0+b3V0cHV0X3NlY3Rpb24oKSk7CiAgICAg ICBlbHNlCi0Jb2R5bi0+YWRkX3NlY3Rpb25fc2l6ZSh1c2VfcmVsID8gZWxm Y3BwOjpEVF9SRUxTWiA6IGVsZmNwcDo6RFRfUkVMQVNaLAotCQkJICAgICAg IGR5bl9yZWwtPm91dHB1dF9zZWN0aW9uKCkpOworCW9keW4tPmFkZF9zZWN0 aW9uX3NpemUoc2l6ZV90YWcsIHBsdF9yZWwtPm91dHB1dF9zZWN0aW9uKCkp OwogICAgICAgY29uc3QgaW50IHNpemUgPSBwYXJhbWV0ZXJzLT50YXJnZXQo KS5nZXRfc2l6ZSgpOwogICAgICAgZWxmY3BwOjpEVCByZWxfdGFnOwogICAg ICAgaW50IHJlbF9zaXplOwpAQCAtNDM3OSw3ICs0Mzg2LDcgQEAgTGF5b3V0 OjphZGRfdGFyZ2V0X2R5bmFtaWNfdGFncyhib29sIHVzZQogCX0KICAgICAg IG9keW4tPmFkZF9jb25zdGFudChyZWxfdGFnLCByZWxfc2l6ZSk7CiAKLSAg ICAgIGlmIChwYXJhbWV0ZXJzLT5vcHRpb25zKCkuY29tYnJlbG9jKCkpCisg ICAgICBpZiAocGFyYW1ldGVycy0+b3B0aW9ucygpLmNvbWJyZWxvYygpICYm IGhhdmVfZHluX3JlbCkKIAl7CiAJICBzaXplX3QgYyA9IGR5bl9yZWwtPnJl bGF0aXZlX3JlbG9jX2NvdW50KCk7CiAJICBpZiAoYyA+IDApCg== --047d7b339db5066fbd04c6aceec9--