Subject: Re: a patch for dynamic a.out support in binutils
To: Krister Walfridsson <cato@df.lth.se>
From: Matthew Fredette <fredette@MIT.EDU>
List: tech-toolchain
Date: 08/03/2000 15:27:40
[port-m68k and port-vax dropped]

> I haven't looked at your patches yet (will do it during the weekend) but
> I have some questions about how much you have tested it. My approach was
> also to modify sunos.c,  and it was rather easy getting something to work
> reasonable, but I found a couple of things that was "hard" without doing
> major changes in sunos.c
> 
> - inderect/warning symbols didn't really work (but that may have been a
>   bug in my code) This gave me big trouble with libc.

Big trouble when linking libc itself or linking executables against it?

I'll check tonight, but right now I don't remember putting in anything
specific to handle indirect or warning symbols.

> - I had problems supporing -x and -X with shared libs.

I was unfamiliar with these options until just now.  Does the symbol
discarding happen when reading input files (i.e., they are completely
hidden from the linker) or when writing the output?  Shouldn't be too
hard to get either behavior.

> - I had problems supporting -Bsymbolic flags to ld (i.e. problems with
>   ld.so.)

This is one option I was aware of, but I explicitly avoided thinking
about it :).  Searching through the old ld sources, though, doesn't
turn up too many references to the SYMBOLIC bit in link_mode, so
this might not be too hard, either.

> Generally, libc, libbfd and libstdc++ gave me _lots_ of problems even
> though I though my ld was "bug free". Have you tested some of that above?

Nope.  My main motivation in all of this is cross-compiling random
software packages, so I haven't tried doing "system"-y stuff like
trying to link a libc or an ld.so.  But if someone can tell me what is
needed to get that to work, I can look into adding it.

Matt

--
Matt Fredette
fredette@aquery.com, fredette@mit.edu, fredette@theory.lcs.mit.edu
http://mit.edu/fredette/www
"If you understood everything I said, you'd be me."  - Miles Davis