uclibc segfault in ldso

Joakim Tjernlund joakim.tjernlund at transmode.se
Fri Mar 28 08:20:00 UTC 2008


On Thu, 2008-03-27 at 22:17 +0000, Nigel Kukard wrote:
> Hi,
> 
> > > > > This trace looks like it is missing LD_DEBUG=1 rpm or LD_DEBUG=all rpm,
> > > > > such a trace can get very big so you need to trim it down before
> > > > > posting. You also need SUPPORT_LD_DEBUG=y in .config
> > > >
> > > > Stupid busybox, it didn't export the env variable .... I'm rebuilding a
> > > > static sh now.
> > > >
> > > > Uploaded RPM debug to ... http://www.linuxrulz.org/nkukard/rpm.log
> > > >
> > > > Uploaded my test PIE app to ... http://www.linuxrulz.org/nkukard/rpm.log
> > > >
> > > 
> > > http://www.linuxrulz.org/nkukard/rpm.readelf
> > > 
> > > Here is a readelf -a from the host system on the target system rpm.
> > > 
> > > -N
> > 
> > hmm, this looks fishy:
> >      1: 00000000   210 FUNC    GLOBAL DEFAULT  UND rpmcliFini at LIBRPM_0 (2)
> >      2: 00000000    22 FUNC    GLOBAL DEFAULT  UND rpmFreeSignature at LIBRPM_0 (2)
> >      3: 00000000     4 OBJECT  GLOBAL DEFAULT  UND hdrVec at LIBRPMDB_0 (3)
> >      4: 00000000    58 FUNC    GLOBAL DEFAULT  UND freeStringBuf at LIBRPM_0 (2)
> >      5: 00000000   454 FUNC    GLOBAL DEFAULT  UND rpmcliQuery at LIBRPM_0 (2)
> >      6: 00000000  1484 OBJECT  GLOBAL DEFAULT  UND rpmInstallPoptTable at LIBRPM_0 (2)
> >      7: 00000000   281 FUNC    GLOBAL DEFAULT  UND rpmcliSign at LIBRPM_0 (2)
> >      8: 00000000   102 FUNC    GLOBAL DEFAULT  UND xstrdup at LIBRPMIO_0 (4)
> > ...
> > 
> > You got GNU ldso symbol version stuff in there. I think you should get rid of
> > that first.
> > 
> 
> Fixed.
> 
> Updated the below logs:
> RPM debug ... http://www.linuxrulz.org/nkukard/rpm.log
> test PIE app ... http://www.linuxrulz.org/nkukard/test.log
> RPM readelf ... http://www.linuxrulz.org/nkukard/rpm.readelf
> 

Can't see anything, I think you should add printouts in __uClibc_init()
to see if you get there, use the write() sys call as I don't think you
can use any of the libc print functions.

Non PIE rpm works I guess?
Does rpm work in glibc, both PIE and non PIE?

 Jocke



More information about the uClibc mailing list