verma wrote:
> Hi all,
> 
> I am doing some R&D.I do not want lazy flag in ld.so.1 nneeded section.
> For this ,I have changed rtld/Makefile.com  ,removed the following -zlazyload 
> flag form DYNFLAGS.
> DYNFLAGS +=     -e _rt_boot $(VERSREF) -Bsymbolic -zlazyload -znodlopen \
>                 -z interpose -zdtrace=dtrace_data '-R$$ORIGIN'
> 
> Now I have not lazy flag in ld.so.1 needed section
> #elfdump -d ./ld.so.1
> 
> Dynamic Section:  .dynamic
>      index  tag                value
>        [0]  NEEDED            0x849               liblddbg.so.4
>        [1]  NEEDED            0x857               librtld.so.1
>        [2]  NEEDED            0x864               libld.so.4
>        [3]  SONAME            0x86f               /lib/ld.so.1
>        [4]  SYMBOLIC          0
> 
> But when I run this this gives egmentation fault.
> I investigate and found that this is coming inside elf_needed() of 
> rtld/comon/elf.c
> Now my questionis that how can I remove this segmentaion fault for above by 
> ld.so.1
> I want to test ld.so.1 without lazy flag of its dependencies,so could any one 
> suggest ,me what should I do for getting this.
> Any suggestion what should I do , changed the elf_needed() function for this 
> or some other code.

You need to arrange for elf_rtld_load() to be called before
jumping through a .plt.

Personally, I'd leave the -zlazyload flag on.  ld.so.1's
default action is to expect its dependencies to be lazily
loaded.  Why would you want to load liblddbg, librtld, etc.
when they are seldom used?


-- 
Rod

Reply via email to