This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: Link error with today's CVS binutils
Unless this is a quick fix for either of you, I'll look into correcting this, but
it'll probably take me a while to zero in on it since I'm not that intimate with the
code. (Any pointers are appreciated.)
Eric
root wrote:
> > Date: Fri, 14 Jan 2000 14:46:33 -0600
> > From: Eric DeVolder <devolder@evsx.com>
>
> > Geoff Keating wrote:
> > > I'm not sure about that. The .klog section isn't placed anywhere, you
> > > have specified NOLOAD. Sections which are not loaded are allowed to
> > > overlap, for instance the stabs sections. I may be wrong...
>
> > The GNU documentation says this:
> > The `(NOLOAD)' directive will mark a section to not be loaded at run time. The
> > linker will process the section normally, but will mark it so that a program
> > loader will not load it into memory.
> >
> > I interpret this to mean that a NOLOAD section will still occupy space in the
> > memory map/image of the application, but won't get loaded (like .bss).
> >
> > If my interpretation is correct (and the documentation is correct), then I
> > think NOLOAD isn't working correctly in the example I've provided.
> >
> > Regardless, its behavior has changed from 2.9.1 to now. We need to correct
> > either the documentation or the linker.
>
> I'm now pretty sure that you are right. The more interesting bit of
> the documentation is immediately following:
>
> ...
> `OVERLAY'
> These type names are supported for backward compatibility, and are
> rarely used. They all have the same effect: the section should be
> marked as not allocatable, so that no memory is allocated for the
> section when the program is run.
>
> which implies that if you don't use any of these names, then memory
> _should_ be allocated for the section.
>
> --
> - Geoffrey Keating <geoffk@cygnus.com>