From: Thomas Renninger <trenn@suse.de>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Luck, Tony" <tony.luck@intel.com>, Adrian Bunk <bunk@stusta.de>,
Sam Ravnborg <sam@ravnborg.org>, Jan Dittmer <jdi@l4x.org>,
Len Brown <lenb@kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-ia64@vger.kernel.org
Subject: RE: scripts/mod/file2alias.c cross compile problem
Date: Thu, 16 Aug 2007 16:27:15 +0200 [thread overview]
Message-ID: <1187274435.8780.780.camel@queen.suse.de> (raw)
In-Reply-To: <1186092501.6131.154.camel@localhost.localdomain>
On Fri, 2007-08-03 at 08:08 +1000, Rusty Russell wrote:
> On Thu, 2007-08-02 at 09:25 -0700, Luck, Tony wrote:
> > > Adrian Bunk: scripts/mod/file2alias.c is compiled with HOSTCC and ensures that
> > > kernel_ulong_t is correct, but it can't cope with different padding on
> > > different architectures.
> >
> > Surely this is the root cause ... you can't expect that the alignment
> > rules of HOSTCC to make any sense for an arbitraty target.
> >
> > > +#define FILLUP_LEN 7 /* dirty fix for i386 -> 64bit cross-compilation */
> > >
> > > struct acpi_device_id {
> > > __u8 id[ACPI_ID_LEN];
> > > + __u8 dummy[FILLUP_LEN];
> > > kernel_ulong_t driver_data;
> > > };
> >
> > What's so special about this structure that we get an error?
>
> It's in mod_devicetable.h: see comment at top of that file. These
> structures serve dual purpose: to describe the capabilities of the
> driver to the kernel probing functions, *and* to export them to
> userspace tables. The former purpose is why there's a data pointer in
> there.
>
> scripts/mod/file2alias is the program that reads this: although it can
> be altered to parse 32-vs-64, Adrian's fix is the simplest.
Oops, this will cause a lot build warnings, as this struct gets
initialized like that:
..
{"PNP0C0A", 0},
..
at a lot places. It would be better to bump up the id itself like the
attached patch does...
Thanks,
Thomas
----------------------
Cross-compilation between e.g. i386 -> 64bit could break -> work around it
Adrian Bunk: scripts/mod/file2alias.c is compiled with HOSTCC and ensures that
kernel_ulong_t is correct, but it can't cope with different padding on
different architectures.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
include/linux/mod_devicetable.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: linux-2.6.23-rc3/include/linux/mod_devicetable.h
===================================================================
--- linux-2.6.23-rc3.orig/include/linux/mod_devicetable.h
+++ linux-2.6.23-rc3/include/linux/mod_devicetable.h
@@ -159,7 +159,8 @@ struct ap_device_id {
#define AP_DEVICE_ID_MATCH_DEVICE_TYPE 0x01
-#define ACPI_ID_LEN 9
+#define ACPI_ID_LEN 16 /* only 9 bytes needed here, 16 bytes are used */
+ /* to workaround crosscompile issues */
struct acpi_device_id {
__u8 id[ACPI_ID_LEN];
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Renninger <trenn@suse.de>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Luck, Tony" <tony.luck@intel.com>, Adrian Bunk <bunk@stusta.de>,
Sam Ravnborg <sam@ravnborg.org>, Jan Dittmer <jdi@l4x.org>,
Len Brown <lenb@kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-ia64@vger.kernel.org
Subject: RE: scripts/mod/file2alias.c cross compile problem
Date: Thu, 16 Aug 2007 14:27:15 +0000 [thread overview]
Message-ID: <1187274435.8780.780.camel@queen.suse.de> (raw)
In-Reply-To: <1186092501.6131.154.camel@localhost.localdomain>
On Fri, 2007-08-03 at 08:08 +1000, Rusty Russell wrote:
> On Thu, 2007-08-02 at 09:25 -0700, Luck, Tony wrote:
> > > Adrian Bunk: scripts/mod/file2alias.c is compiled with HOSTCC and ensures that
> > > kernel_ulong_t is correct, but it can't cope with different padding on
> > > different architectures.
> >
> > Surely this is the root cause ... you can't expect that the alignment
> > rules of HOSTCC to make any sense for an arbitraty target.
> >
> > > +#define FILLUP_LEN 7 /* dirty fix for i386 -> 64bit cross-compilation */
> > >
> > > struct acpi_device_id {
> > > __u8 id[ACPI_ID_LEN];
> > > + __u8 dummy[FILLUP_LEN];
> > > kernel_ulong_t driver_data;
> > > };
> >
> > What's so special about this structure that we get an error?
>
> It's in mod_devicetable.h: see comment at top of that file. These
> structures serve dual purpose: to describe the capabilities of the
> driver to the kernel probing functions, *and* to export them to
> userspace tables. The former purpose is why there's a data pointer in
> there.
>
> scripts/mod/file2alias is the program that reads this: although it can
> be altered to parse 32-vs-64, Adrian's fix is the simplest.
Oops, this will cause a lot build warnings, as this struct gets
initialized like that:
..
{"PNP0C0A", 0},
..
at a lot places. It would be better to bump up the id itself like the
attached patch does...
Thanks,
Thomas
----------------------
Cross-compilation between e.g. i386 -> 64bit could break -> work around it
Adrian Bunk: scripts/mod/file2alias.c is compiled with HOSTCC and ensures that
kernel_ulong_t is correct, but it can't cope with different padding on
different architectures.
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
include/linux/mod_devicetable.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: linux-2.6.23-rc3/include/linux/mod_devicetable.h
=================================--- linux-2.6.23-rc3.orig/include/linux/mod_devicetable.h
+++ linux-2.6.23-rc3/include/linux/mod_devicetable.h
@@ -159,7 +159,8 @@ struct ap_device_id {
#define AP_DEVICE_ID_MATCH_DEVICE_TYPE 0x01
-#define ACPI_ID_LEN 9
+#define ACPI_ID_LEN 16 /* only 9 bytes needed here, 16 bytes are used */
+ /* to workaround crosscompile issues */
struct acpi_device_id {
__u8 id[ACPI_ID_LEN];
next prev parent reply other threads:[~2007-08-16 14:27 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-25 16:38 [GIT PATCH] ACPI patches for 2.6.23-rc1 Len Brown
2007-07-25 16:49 ` Tino Keitel
2007-07-25 19:44 ` Len Brown
2007-07-25 18:48 ` Linus Torvalds
2007-07-25 22:51 ` Len Brown
2007-07-26 2:20 ` david
2007-07-26 4:26 ` Len Brown
2007-07-26 5:00 ` david
2007-07-26 6:55 ` Linus Torvalds
2007-07-26 17:45 ` Len Brown
2007-07-26 18:01 ` Linus Torvalds
2007-07-26 18:02 ` david
2007-07-26 18:16 ` Linus Torvalds
2007-07-26 18:27 ` Jeff Garzik
2007-07-26 18:18 ` Len Brown
2007-07-26 19:17 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Rafael J. Wysocki
2007-07-26 19:57 ` Linus Torvalds
2007-07-26 20:48 ` Rafael J. Wysocki
2007-07-26 20:55 ` Linus Torvalds
2007-07-27 22:25 ` [2.6 patch] let SUSPEND select HOTPLUG_CPU Adrian Bunk
2007-07-27 22:47 ` Stefan Richter
2007-07-27 23:03 ` Adrian Bunk
2007-07-28 8:42 ` Stefan Richter
2007-07-30 21:18 ` Pavel Machek
2007-07-28 14:44 ` Sergio Monteiro Basto
2007-07-27 22:57 ` Linus Torvalds
2007-07-28 4:52 ` [2.6 patch] SOFTWARE_SUSPEND: handle HOTPLUG_CPU automatically Adrian Bunk
2007-07-28 9:07 ` Stefan Richter
2007-07-28 18:30 ` [2.6 patch] let SUSPEND select HOTPLUG_CPU Rafael J. Wysocki
2007-07-28 7:30 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Len Brown
2007-07-28 7:33 ` [PATCH] ACPI: restore CONFIG_ACPI_SLEEP Len Brown
2007-07-28 16:25 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Linus Torvalds
2007-07-28 16:55 ` Linus Torvalds
2007-07-28 18:29 ` Rafael J. Wysocki
2007-07-28 18:31 ` Linus Torvalds
2007-07-29 10:20 ` [PATCH 0/2] Introduce CONFIG_HIBERNATION and CONFIG_SUSPEND (was: CONFIG_SUSPEND?) Rafael J. Wysocki
2007-07-29 10:20 ` Rafael J. Wysocki
2007-07-29 10:21 ` [PATCH 1/2] Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION Rafael J. Wysocki
2007-07-29 10:21 ` Rafael J. Wysocki
2007-07-29 12:38 ` [PATCH 2/2] Introduce CONFIG_SUSPEND Rafael J. Wysocki
2007-07-29 20:40 ` Adrian Bunk
2007-07-29 20:40 ` Adrian Bunk
2007-07-29 20:40 ` Adrian Bunk
2007-07-29 21:17 ` Rafael J. Wysocki
2007-07-29 21:17 ` Rafael J. Wysocki
2007-07-29 21:18 ` Adrian Bunk
2007-07-29 21:18 ` Adrian Bunk
2007-07-29 21:18 ` Adrian Bunk
2007-07-29 21:36 ` Rafael J. Wysocki
2007-07-29 21:36 ` Rafael J. Wysocki
2007-07-29 21:30 ` Richard Hughes
2007-07-29 22:22 ` Rafael J. Wysocki
2007-07-30 21:26 ` Pavel Machek
2007-07-30 21:26 ` Pavel Machek
2007-07-29 22:22 ` Rafael J. Wysocki
2007-07-30 2:47 ` Kyle Moffett
2007-07-30 2:47 ` Kyle Moffett
2007-07-29 21:30 ` Richard Hughes
2007-07-29 21:36 ` Rafael J. Wysocki
2007-07-29 21:17 ` Rafael J. Wysocki
2007-07-29 12:38 ` Rafael J. Wysocki
2007-07-29 21:23 ` [PATCH 0/2] Introduce CONFIG_HIBERNATION and CONFIG_SUSPEND (updated) Rafael J. Wysocki
2007-07-29 21:23 ` Rafael J. Wysocki
2007-07-29 21:24 ` [PATCH 1/2] Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION (updated) Rafael J. Wysocki
2007-07-29 21:24 ` Rafael J. Wysocki
2007-07-29 21:27 ` [PATCH 2/2] Introduce CONFIG_SUSPEND (updated) Rafael J. Wysocki
2007-07-29 21:27 ` Rafael J. Wysocki
2007-07-31 4:59 ` Len Brown
2007-07-31 4:59 ` Len Brown
2007-07-31 9:15 ` Rafael J. Wysocki
2007-07-31 9:15 ` Rafael J. Wysocki
2007-07-31 9:16 ` [linux-pm] " Oliver Neukum
2007-07-31 10:01 ` Rafael J. Wysocki
2007-07-31 10:01 ` Rafael J. Wysocki
2007-07-31 9:16 ` Oliver Neukum
2007-07-30 0:21 ` [PATCH 0/2] Introduce CONFIG_HIBERNATION and " Linus Torvalds
2007-07-30 0:21 ` Linus Torvalds
2007-07-30 7:25 ` Rafael J. Wysocki
2007-07-30 7:25 ` Rafael J. Wysocki
2007-07-31 3:54 ` Len Brown
2007-07-31 3:54 ` Len Brown
2007-07-31 3:54 ` [PATCH] create CONFIG_SUSPEND_UP_POSSIBLE Len Brown
2007-07-31 6:38 ` Pavel Machek
2007-07-31 6:38 ` Pavel Machek
2007-07-31 9:33 ` Rafael J. Wysocki
2007-07-31 9:33 ` Rafael J. Wysocki
2007-08-03 19:23 ` Len Brown
2007-08-03 19:23 ` Len Brown
2007-08-05 18:36 ` Pavel Machek
2007-08-05 18:36 ` Pavel Machek
2007-07-31 3:54 ` Len Brown
2007-08-01 3:27 ` [PATCH] ACPI: delete CONFIG_ACPI_PROCFS_SLEEP (again) Len Brown
2007-08-01 3:27 ` Len Brown
2007-08-01 10:24 ` Rafael J. Wysocki
2007-08-01 10:24 ` Rafael J. Wysocki
2007-07-31 3:53 ` CONFIG_SUSPEND? (was: Re: [GIT PATCH] ACPI patches for 2.6.23-rc1) Len Brown
2007-07-31 4:09 ` david
2007-07-31 6:33 ` Pavel Machek
2007-07-26 10:07 ` [GIT PATCH] ACPI patches for 2.6.23-rc1 Gabriel C
2007-07-26 18:05 ` Len Brown
2007-07-26 18:18 ` Linus Torvalds
2007-07-26 18:38 ` Gabriel C
2007-07-26 18:53 ` defconfig , ACPI=n compile error Gabriel C
2007-07-26 7:02 ` [GIT PATCH] ACPI patches for 2.6.23-rc1 Linus Torvalds
2007-07-27 6:26 ` Jan Dittmer
2007-07-27 16:25 ` Thomas Renninger
2007-07-27 23:07 ` Adrian Bunk
2007-07-27 23:07 ` Adrian Bunk
2007-07-27 23:41 ` Andreas Schwab
2007-07-27 23:41 ` Andreas Schwab
[not found] ` <617E1C2C70743745A92448908E030B2A0209BB9D@scsmsx411.amr.corp.intel.com>
2007-07-28 1:39 ` scripts/mod/file2alias.c cross compile problem Adrian Bunk
2007-07-28 1:39 ` Adrian Bunk
2007-08-02 15:09 ` Thomas Renninger
2007-08-02 15:09 ` Thomas Renninger
2007-08-02 16:25 ` Luck, Tony
2007-08-02 16:25 ` Luck, Tony
2007-08-02 16:25 ` Luck, Tony
2007-08-02 16:36 ` Andreas Schwab
2007-08-02 16:36 ` Andreas Schwab
2007-08-02 16:36 ` Andreas Schwab
2007-08-02 17:40 ` Luck, Tony
2007-08-02 17:40 ` Luck, Tony
2007-08-02 17:40 ` Luck, Tony
2007-08-02 18:09 ` Sam Ravnborg
2007-08-02 18:09 ` Sam Ravnborg
2007-08-02 19:15 ` Adrian Bunk
2007-08-02 19:15 ` Adrian Bunk
2007-08-02 19:24 ` Sam Ravnborg
2007-08-02 19:24 ` Sam Ravnborg
2007-08-02 19:39 ` Al Viro
2007-08-02 19:39 ` Al Viro
2007-08-02 22:08 ` Rusty Russell
2007-08-02 22:08 ` Rusty Russell
2007-08-02 23:03 ` Adrian Bunk
2007-08-02 23:03 ` Adrian Bunk
2007-08-16 14:27 ` Thomas Renninger [this message]
2007-08-16 14:27 ` Thomas Renninger
2007-08-16 16:26 ` Luck, Tony
2007-08-16 16:26 ` Luck, Tony
2007-08-16 16:26 ` Luck, Tony
2007-08-16 17:03 ` Thomas Renninger
2007-08-16 17:03 ` Thomas Renninger
2007-07-27 23:50 ` [GIT PATCH] ACPI patches for 2.6.23-rc1 Andreas Schwab
2007-07-27 23:50 ` Andreas Schwab
2007-07-28 7:58 ` Jan Dittmer
2007-08-01 1:34 ` Yasha Okshtein
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=1187274435.8780.780.camel@queen.suse.de \
--to=trenn@suse.de \
--cc=akpm@linux-foundation.org \
--cc=bunk@stusta.de \
--cc=jdi@l4x.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=sam@ravnborg.org \
--cc=tony.luck@intel.com \
--cc=torvalds@linux-foundation.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.