From: Arjan van de Ven <arjanv@redhat.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Andrew Morton <akpm@osdl.org>,
Andres Salomon <dilinger@voxel.net>,
linux-kernel@vger.kernel.org, linux-pcmcia@lists.infradead.org,
jt@hpl.hp.com
Subject: Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
Date: Wed, 24 Dec 2003 10:29:44 +0100 [thread overview]
Message-ID: <1072258184.5223.5.camel@laptop.fenrus.com> (raw)
In-Reply-To: <3FE8FC2E.3080701@pobox.com>
[-- Attachment #1: Type: text/plain, Size: 1149 bytes --]
> Ummm... there are many changes to the pcmcia net drivers in my
> net-drivers-2.5-exp queue. All can be classified as fixes, to a greater
> or lesser degree, and I would put those at a higher priority than API
> cleanups and such.
This set is not so much about API cleanup as about fixing a REAL bug:
CardServices() has a very broken prototype that miscompiles on amd64 on
possibly others (even x86 with the right gcc flags).
Basically the function is implemented like this:
int CardServices(int func, void *a1, void *a2, void *a3)
{
...
}
however the prototype that drivers see is using varargs like this:
extern int CardServices(int func, ...);
varargs functions on amd64 have a different calling convention than
"normal" functions so this mismatches the actual implementation's
calling convention and goes west quite spectacular. The same might be
true for other architectures, and is true for x86 when you use
-mregparm.
You could argue we should just fix CardServices() instead, but well once
you do that you might as well kill it; even in 2.4 it's an optional API
which abstracts the real API.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
prev parent reply other threads:[~2003-12-24 9:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-24 1:44 Andres Salomon
2003-12-24 2:28 ` Andrew Morton
2003-12-24 2:34 ` Andres Salomon
2003-12-24 2:38 ` Jeff Garzik
2003-12-24 2:48 ` Andrew Morton
2003-12-24 3:04 ` Jeff Garzik
2003-12-24 4:23 ` Andrew Morton
2003-12-24 4:33 ` Matt Mackall
2003-12-25 9:45 ` George Anzinger
2003-12-25 9:55 ` Andrew Morton
2003-12-25 12:36 ` Matt Mackall
2003-12-26 22:29 ` George Anzinger
2003-12-24 7:49 ` [PATCH] final CardServices() removal patches Andres Salomon
2003-12-24 9:29 ` Arjan van de Ven [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=1072258184.5223.5.camel@laptop.fenrus.com \
--to=arjanv@redhat.com \
--cc=akpm@osdl.org \
--cc=dilinger@voxel.net \
--cc=jgarzik@pobox.com \
--cc=jt@hpl.hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pcmcia@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome