This is the mail archive of the binutils@sourceware.cygnus.com 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: Link error with today's CVS binutils


> 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>

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