This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Changing .dynstr to be more C++ friendly?

On Thu, Feb 24, 2005 at 09:52:12AM -0500, Chris Kirby wrote:
> At 12:17 PM 2/24/2005 +1030, Alan Modra wrote:
> >On Wed, Feb 23, 2005 at 02:22:50PM -0500, Chris Kirby wrote:
> >> My thinking was that we could change the definition of an Elf symbol
> >> to not contain a single name, but rather N distinct name components
> >> (3 in this case). 
> >
> >I think you underestimate the scope of the change you are proposing.
> >This would require changes to all consumers of ELF files, which means
> >more than just the assembler and linker.  Debuggers,, etc.
> I was hoping that they all used bfd or liberty so we would only have
> to change it there.  If everyone has there own code to interact with
> ELF files, then I agree it would be too large of a change to be
> feasible right now.  If ELF is ever revised, it would be nice to
> consider ways to compress the dynamic strings for languages other
> than just C.
> For our embedded application, I am wondering how feasible it would be
> to change the symbol names to something shorter.  As long as the
> application and the shared library are in agreement in what the
> symbol names are, it should not matter what they are.  This would
> allow us to come up with a more compact naming scheme than the
> current C++ name mangler.  I could imagine a post processing step
> after the application and libraries are built where the current names
> in use are found, converted to a shorter representation, and then
> replaced.

I don't know if this will interfere with any of the C++ support library
functions, but you can probably make it work.  It's not hard to rename
symbols in an ELF file.

Daniel Jacobowitz
CodeSourcery, LLC

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]