[uClibc] [PATCH] Clean up dynamic handling in ld.so and initial RELRO support

Joakim Tjernlund joakim.tjernlund at lumentis.se
Mon Nov 1 10:13:35 UTC 2004


> > > 
> > > > It is getting impossible to any real work done in ld.so due to the messy
> > > > handling the dynamic section attributes.
> > > > 
> > > > This patch is the first step to fix this. MIPS is the biggest offender and
> > > > I can't test MIPS. I would like some feedback from MIPS users, please
> > > > test(enable all LDSO debugging if you run into problems) and report back.
> > > > Note that all arches are affected so feedback from other arches is also welcome.
> > > > 
> > > > Summary of the patch:
> > > >   - remove dynamic_size from struct elf_resolve.
> > > >   - replace all open coded dynamic handling with a function. Reduces size.
> > > >   - fold MIPS special MIPS dynamic code into the dynamic_info item.
> > > >   - prepare for DT_RELACOUNT/DT_RELCOUNT optimization.
> > > > 
> > > >  Jocke
> > > 
> > > Now with RELRO support also. Very little tested, but I am sure Peter Mazinger
> > > will test it well :)
> > > 
> > >  Jocke
> > 
> > Forgot to mention that I am still looking for feedback from testing this on a MIPS
> > system. I don't want to commit this without any testing on MIPS first.
> 
> OK, Peter found some bugs in the RELRO parts. I have fixed these so
> here we go again.

This is the latest and greatest version. I believe this is the final version so
please test, especially on MIPS.

Changes:
- MIPS cannot do function calls while in dl-startup.c, fix that by inlining(for MIPS only) the new
  dynamic parsing function, thanks Manuel.
- Add -z now to ld.so linking, this is what ld.so does anyway so let the linker know that.
- Do RELRO on ld.so itself iff asked to do so.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dyn_relro7.patch
Type: application/octet-stream
Size: 23789 bytes
Desc: not available
Url : http://lists.busybox.net/pipermail/uclibc/attachments/20041101/1f184d6b/attachment.obj 


More information about the uClibc mailing list