This is the mail archive of the
mailing list for the binutils project.
RE: Debugging MIPS PIE executables
- From: Felix Radensky <felix dot radensky at broadcom dot com>
- To: Matthew Fortune <Matthew dot Fortune at imgtec dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Mon, 15 Jun 2015 16:36:43 +0000
- Subject: RE: Debugging MIPS PIE executables
- Authentication-results: sourceware.org; auth=none
- References: <E58C9DEB1F89D14DACE36CCF9743E0E27A4D5A at SJEXCHMB13 dot corp dot ad dot broadcom dot com> <6D39441BF12EF246A7ABCE6654B023532106C852 at LEMAIL01 dot le dot imgtec dot org> <E58C9DEB1F89D14DACE36CCF9743E0E27A4E8C at SJEXCHMB13 dot corp dot ad dot broadcom dot com> <6D39441BF12EF246A7ABCE6654B0235321165464 at LEMAIL01 dot le dot imgtec dot org>
> -----Original Message-----
> From: Matthew Fortune [mailto:Matthew.Fortune@imgtec.com]
> Sent: Saturday, June 13, 2015 11:10 AM
> To: Felix Radensky; email@example.com
> Subject: RE: Debugging MIPS PIE executables
> Felix Radensky <firstname.lastname@example.org> writes:
> > Hi Matthew,
> > > -----Original Message-----
> > > From: Matthew Fortune [mailto:Matthew.Fortune@imgtec.com]
> > > Sent: Sunday, June 07, 2015 11:10 AM
> > > To: Felix Radensky; email@example.com
> > > Subject: RE: Debugging MIPS PIE executables
> > >
> > > Hi Felix,
> > >
> > > Felix Radensky <firstname.lastname@example.org> writes:
> > > > I was wondering if any progress was made to resolve the problem
> > > > discussed in the following threads:
> > > >
> > > > https://sourceware.org/ml/binutils/2013-06/msg00183.html
> > > > https://sourceware.org/ml/binutils/2014-10/msg00200.html
> > > >
> > > > Are there any experimental patches for binutils/gdb/glibc that I
> > can
> > > > try ? PIE executables are must in many security-conscious
> > > > projects, and the lack of ability to debug them is a serious problem.
> > >
> > > This request has come up a few times again recently and I am hoping
> > to
> > > submit patches for this in the coming week. I still have not managed
> > > to build a PIE version of glibc which is a bit of a blocker. I'm
> > > currently trying to use HJ's recent patches to support PIE by
> > > default from GCC but now have link assertions in glibc instead of
> > > reloc
> > failures.
> > >
> > > I have binutils and gdb patches that have been used with bionic but
> > > they still need some cleaning up.
> > Thanks a lot for a prompt reply. I'm looking forward to test your
> > patches.
> I've attached the patches I intend to submit but I still have to work through the
> binutils testsuite to account for the new tag and try to write a useful test case.
> I'll also need to get advice on doing a GDB test for this as I don't know if/how to
> do that.
> The patches are manually tested for o32/n32/n64 PIE and ordinary executables
> with the expected behaviour that new PIEs with new ld.so show the correct
> library list.
I've build a MIPS o32 little-endian toolchain using crosstool-ng-1.21.0, with gcc-5.1.0, binutils-2.25 and gdb-7.9.1, and your patches applied. However the problem still exists, I'm unable to debug PIE executables with shared libraries or inspect core files produced by such executables. The shared library is not listed by "info sharedlibrary", the backtrace cannot be extracted from core file. I can send you my crosstool-ng configuration file and the trivial application I use for testing.