This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: ld: orthogonal functionality?
- To: John Reiser <jreiser at BitWagon dot com>
- Subject: Re: ld: orthogonal functionality?
- From: Nick Clifton <nickc at cambridge dot redhat dot com>
- Date: 10 Sep 2001 18:42:25 +0100
- Cc: binutils at sourceware dot cygnus dot com
- References: <3B98EE77.3022801D@BitWagon.com>
Hi John,
> In ld for ELF, I'd like to control these features separately and
> independently, both from the command line and from an input script:
>
> 0. output type ET_EXEC, ET_DYN, ET_REL
> 1. warn (alt: not) if undefined symbols are referenced
> 2. force non-zero exit status if undefined symbols are referenced
> (alt: undefineds have no effect on exit status)
> 3. inhibit output (alt: not) if undefined symbols are referenced
> 4. lazy relocation (delay as long as possible) vs. eager relocation
> (reduce strength [symbol==>section==>segment==><done>] as soon
> as possible)
> 5. allocate Common blocks (alt: not)
>
> Current flags such as -dc, -r, -Bsymbolic, -shared, --no-undefined,
> --noinhibit-exec provide only partial, non-orthogonal coverage
> of the cases. Lately I've run into several situations where I
> could not figure out how to get what I want, even though the
> underlying features are implemented for some other combination.
Creating a complete and orthogonal command set is laudable goal, and
since you raise the issue I assume that you are considering doing the
work too. One thing to remember however is that a lot of the
linker's command line switches are their to emulate the behaviour of
switches in other, non-GNU, linkers. So, if possible, you should
preserve their current semantics.
Cheers
Nick