How to stop gcc padding structs???

Michael Meissner meissner@cygnus.com
Mon Jan 29 09:34:00 GMT 2001


On Mon, Jan 29, 2001 at 10:17:57AM -0600, Grant Edwards wrote:
> On Tue, Jan 30, 2001 at 03:07:21AM +1100, Fergus Henderson wrote:
> 
> > > > Relying on sizeof to do this is *very* non-portable.
> > > 
> > > It's a device driver for a specific board.  It doesn't really
> > > need to be portable.
> > 
> > The fact that it is a device driver for a specific board means that
> > you're not going to try to port it to a different board.  But
> > well-written device drivers do get ported to different operating
> > systems, or compiled with different compilers.  For example, one
> > reason why you might want to port to a different compiler is that you
> > might discover that the compiler you're using is buggy.  Note that
> > even upgrading to a later version of the same compiler may expose you
> > to some of the same portability issues.
> 
> True.  I suppose for maximum portability I should just use
> pointer arithmatic with hard-wired offsets.  It's just so ugly.

Which of course will not work so well if your device is put into a non-x86 or
non-ppc that traps when given an unaligned pointer (ie, a normal RISC
machine).

-- 
Michael Meissner, Red Hat, Inc.  (GCC group)
PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA
Work:	  meissner@redhat.com		phone: +1 978-486-9304
Non-work: meissner@spectacle-pond.org	fax:   +1 978-692-4482


More information about the Gcc mailing list