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]

Re: ld: orthogonal functionality?

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.


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