public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [GOLD] question about gold handling SPARC style .rela.plt, .rela.plt overlapping
@ 2012-08-07 10:25 WANG.Jiong
  2012-08-07 13:34 ` Ian Lance Taylor
  0 siblings, 1 reply; 3+ messages in thread
From: WANG.Jiong @ 2012-08-07 10:25 UTC (permalink / raw)
  To: davem, iant; +Cc: binutils

Hi David & Ian,

   currently, I am porting gold linker for a private target which allow 
PLTREL overlapping

   so, I met exactly the same problem as you have discussed two years ago

   http://sourceware.org/ml/binutils/2010-02/msg00140.html

   I see you have done a fix with the following logic:

   1. .rela.dyn,  .rela.plt are seperate
   2. generate DT_RELA only when there is .rela.dyn, and DT_RELASZ be 
the total size of both .rela.dyn and .rela.plt

   But, If there is no .rela.dyn, without DT_RELA, it seems dynamic 
linker behave incorrectly when ELF_MACHINE_PLTREL_OVERLAP defined

   I checked the implementation of  _ELF_DYNAMIC_DO_RELOC in glib

   elf/dynamic-link.h:260
   # define _ELF_DYNAMIC_DO_RELOC(RELOC, reloc, map, do_lazy, 
skip_ifunc, test_rel)

   without DT_REL or DT_RELA,  ranges[0] are not initialized properly.

   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 ?

   or I have misunderstood something ?

   thanks very much

---
Regards,
WANG.Jiong

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-08-07 14:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-07 10:25 [GOLD] question about gold handling SPARC style .rela.plt, .rela.plt overlapping WANG.Jiong
2012-08-07 13:34 ` Ian Lance Taylor
2012-08-07 14:19   ` Jiong WANG

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).