This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
RE: Linkerscript
- From: "Meulendijks, J." <Meulendijks at WT dot TNO dot NL>
- To: "'Nick Clifton'" <nickc at redhat dot com>, "Meulendijks, J." <Meulendijks at WT dot TNO dot NL>
- Cc: "'binutils at sources dot redhat dot com'" <binutils at sources dot redhat dot com>
- Date: Fri, 8 Oct 2004 09:45:27 +0200
- Subject: RE: Linkerscript
It is defined as:
#define SECTION_vectors(_region_, _vma_, _lma_) \
.vectors _vma_ : _lma_ \
{ FORCE_OUTPUT; KEEP(*(.vectors)) } \
> _region_
And FORCE_OUTPUT = _. = ._
But if FORCE_OUTPUT is left away it still will generate a output in my
opinion....
-----Original Message-----
From: Nick Clifton [mailto:nickc@redhat.com]
Sent: vrijdag 8 oktober 2004 09:22
To: Meulendijks, J.
Cc: 'binutils@sources.redhat.com'
Subject: Re: Linkerscript
Hi jeroen,
> I have a question about the linkerscript automatically generated by eCos.
For which particular target ?
> On a
> couple of lines the expression ". = .;" is used. What is de meaning of this?
> What does it do?
Nothing - it is a null operation.
> Example:
> .vectors 0x00400000 : { . = .; KEEP(*(.vectors)) } > ram
The source for this particular linker script appears to be eCos
specific, since I did not find it in the binutils repository. My guess
would be that in the original source there is an extra expression which
can be conditionally included as part of this assignment. eg something
like:
.vectors 0x00400000 : { . = . $(VECTOR_OFFSET);
where VECTOR_OFFSET might be defined as "" under some circumstances and
as say "+ 0x1000" under other circumstances. (I am just guessing here).
Cheers
Nick