This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: replacing the default linker script
On Wed, Mar 6, 2013 at 10:52 AM, Trevor Woerner <twoerner@gmail.com> wrote:
>
> While I can find lots of people asking:
> 1. how to get ld to print the script it is using?
> 2. how do I provide my own script?
> 3. does -T replace or supplant the default script?
>
> I can't seem to find any information on how feasible it would be to
> provide my script to ld while it is being built so that it'll use my
> script as the default so I don't have to provide it with the -T option
> on every invocation.
>
> Let's say I am putting together my own cross-development tools to
> target a specific device, it would be nice if I could provide my
> linker script in some way so that it could become the default script
> that is used by my cross-ld tool.
It's a bit painful because you have to provide multiple scripts that
are used depending on the command line options. The existing scripts
are in ld/scripttempl. They are conditioned by files in
ld/emulparams. There is no documentation.
> When my cross-development tools are installed, I did notice that
> there's a TARGET/sysroot/lib/ldscripts directory that gets created. In
> my case it contains:
...
> I was hoping that if I replaced one of them with my script that the
> new script would get used by default. But that doesn't seem to be the
> case.
No, it doesn't work that way. The default script is compiled into the
linker so that it doesn't have to waste time opening a file. The
presence of the default scripts in the file system is, essentially,
documentation.
Ian