All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: devnetfs <devnetfs@yahoo.com>
Cc: arjanv@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: compiling modules with gcc 3.2
Date: Fri, 25 Apr 2003 06:59:26 -0400	[thread overview]
Message-ID: <20030425065926.E13397@devserv.devel.redhat.com> (raw)
In-Reply-To: <20030425104615.7429.qmail@web20415.mail.yahoo.com>; from devnetfs@yahoo.com on Fri, Apr 25, 2003 at 03:46:15AM -0700

On Fri, Apr 25, 2003 at 03:46:15AM -0700, devnetfs wrote:
> --- Arjan van de Ven <arjanv@redhat.com> wrote:
> 
> Thanks for the quick reply :)
> 
> > > Either way why is this so? AFAIK gcc 3.2 has abi incompatiblities
> > > w.r.t. C++ and not C (which the kernel+modules are written in).
> > 
> > there are some cornercase C ABI changes but nobody except DAC960 will
> > ever hit those. 
> 
> what are these? i am just curious about the change as i dont
> see them (probably did not search hard) documented/listed on
> gcc site. C++ ABI changes have some mention on some sites, but 
> NOT on C ABI. 

If I remember well, long long bitfields, oversided bitfields, etc.

> so does this mean that: these workarounds now fixed in gcc 3.X?
> and its just that the workaround employed in kernel source (for 
> gcc 2.X) is different than the way gcc 3.X fixes them and hence 
> objects generated from gcc 3.X and 2.X (w.r.t kernel sources+modules)
> dont mix well?

There are couple of places in kernel which do things like:

#if (__GNUC__ > 2)
  typedef struct { } spinlock_t;
  #define SPIN_LOCK_UNLOCKED (spinlock_t) { }
#else
  typedef struct { int gcc_is_buggy; } spinlock_t;
  #define SPIN_LOCK_UNLOCKED (spinlock_t) { 0 }
#endif

Obviously you cannot mix modules/kernels using any structure like that.

	Jakub

      reply	other threads:[~2003-04-25 10:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-25  6:31 compiling modules with gcc 3.2 devnetfs
2003-04-25  9:06 ` Arjan van de Ven
2003-04-25 10:46   ` devnetfs
2003-04-25 10:59     ` Jakub Jelinek [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030425065926.E13397@devserv.devel.redhat.com \
    --to=jakub@redhat.com \
    --cc=arjanv@redhat.com \
    --cc=devnetfs@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.