This is the mail archive of the binutils@sources.redhat.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]
Other format: [Raw text]

Re: Does a zero-sized object in BSS go away?


> Date: Fri, 27 Jun 2003 11:10:31 +0200
> From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>

> Geoff Keating wrote:
> > > Date: Thu, 19 Jun 2003 14:19:39 -0400 (EDT)
> > > Cc: binutils@sources.redhat.com
> > > From: Kazu Hirata <kazu@cs.umass.edu>
> > 
> > > Hi Geoff,
> > > 
> > > > The linker should assign an address to it.  However, some object file
> > > > formats can't represent zero-sized common objects, in which case the
> > > > assembler should probably report an error if someone tries to create one.
> > > 
> > > Thanks.  That means some valid C using a zerosized object program
> > > may not be represented in those formats.  Sigh...
> > 
> > ISO C programs can't create zero-size objects, but you can do it in
> > GCC.
> > 
> > I think there's no way to tell if an object, which the program thinks
> > is zero-size, actually has non-zero size.  So you could just make the
> > common symbols have size 1 if the user asks for size 0...
> 
> This may break pointer comparisions. (Not that I knew of a good reason
> to do this).

I don't see how this could break pointer comparisons.  You can't
meaningfully do them with zero-size objects anyway...

-- 
- Geoffrey Keating <geoffk@geoffk.org>


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