All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: "Luck, Tony" <tony.luck@intel.com>
Cc: Andreas Schwab <schwab@suse.de>,
	trenn@suse.de, Adrian Bunk <bunk@stusta.de>,
	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, 2 Aug 2007 20:09:03 +0200	[thread overview]
Message-ID: <20070802180903.GD2431@uranus.ravnborg.org> (raw)
In-Reply-To: <617E1C2C70743745A92448908E030B2A02156CC1@scsmsx411.amr.corp.intel.com>

On Thu, Aug 02, 2007 at 10:40:14AM -0700, Luck, Tony wrote:
> >>>  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 special because it's a device_id structure, and those structures
> > must come out identical using either the host or the target compiler.
> 
> That didn't help me understand.  Are device_id structures visible
> in some user-level API?  If so, then I can see why they'd need to
> be the same (but then I'd be confused why this structure uses a
> "kernel_ulong_t" type).

I second this. For anything visible in userspace from
include/* we require usage of the kernel specific
__u8, __u16, __u32, __u64 typedefs but for device_id we accept
kernel_ulong_t which result in the following crap in
file2alias.c:

/* We use the ELF typedefs for kernel_ulong_t but bite the bullet and
 * use either stdint.h or inttypes.h for the rest. */
#if KERNEL_ELFCLASS == ELFCLASS32
typedef Elf32_Addr      kernel_ulong_t;
#define BITS_PER_LONG 32
#else
typedef Elf64_Addr      kernel_ulong_t;
#define BITS_PER_LONG 64
#endif

And we ought to have __u64 available.
See for example types.h from asm-i386:
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#endif


	Sam

WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: "Luck, Tony" <tony.luck@intel.com>
Cc: Andreas Schwab <schwab@suse.de>,
	trenn@suse.de, Adrian Bunk <bunk@stusta.de>,
	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, 02 Aug 2007 18:09:03 +0000	[thread overview]
Message-ID: <20070802180903.GD2431@uranus.ravnborg.org> (raw)
In-Reply-To: <617E1C2C70743745A92448908E030B2A02156CC1@scsmsx411.amr.corp.intel.com>

On Thu, Aug 02, 2007 at 10:40:14AM -0700, Luck, Tony wrote:
> >>>  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 special because it's a device_id structure, and those structures
> > must come out identical using either the host or the target compiler.
> 
> That didn't help me understand.  Are device_id structures visible
> in some user-level API?  If so, then I can see why they'd need to
> be the same (but then I'd be confused why this structure uses a
> "kernel_ulong_t" type).

I second this. For anything visible in userspace from
include/* we require usage of the kernel specific
__u8, __u16, __u32, __u64 typedefs but for device_id we accept
kernel_ulong_t which result in the following crap in
file2alias.c:

/* We use the ELF typedefs for kernel_ulong_t but bite the bullet and
 * use either stdint.h or inttypes.h for the rest. */
#if KERNEL_ELFCLASS = ELFCLASS32
typedef Elf32_Addr      kernel_ulong_t;
#define BITS_PER_LONG 32
#else
typedef Elf64_Addr      kernel_ulong_t;
#define BITS_PER_LONG 64
#endif

And we ought to have __u64 available.
See for example types.h from asm-i386:
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#endif


	Sam

  reply	other threads:[~2007-08-02 18:07 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 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:36                                         ` Rafael J. Wysocki
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:18                                       ` Adrian Bunk
2007-07-29 21:17                                     ` Rafael J. Wysocki
2007-07-29 20:40                                   ` Adrian Bunk
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: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-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-29 21:27                                   ` Rafael J. Wysocki
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-05 18:36                                           ` Pavel Machek
2007-08-05 18:36                                           ` Pavel Machek
2007-08-03 19:23                                         ` Len Brown
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-29 21:23                                 ` [PATCH 0/2] Introduce CONFIG_HIBERNATION and CONFIG_SUSPEND (updated) 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 [this message]
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
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=20070802180903.GD2431@uranus.ravnborg.org \
    --to=sam@ravnborg.org \
    --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=schwab@suse.de \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=trenn@suse.de \
    /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.