Re: Creating tasks and the l4_task_map function
Frank Mehnert <[email protected]> Fri, 30 Sep 2022 09:07:59 +0200
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Organization | Kernkonzept |
| Message-ID | <5609448.DvuYhMxLoT@noys4> |
Hi all,
On Donnerstag, 29. September 2022 23:54:04 CEST Paul Boddie wrote:
> On Thursday, 29 September 2022 22:15:06 CEST Paul Boddie wrote:
> > So this kind of explains some of my earlier confusion about what should
> > happen on a 32-bit system. In fact, IA32 (x86) seems to be a special case,
> > although I cannot immediately find the documentation that explains why the
> > structure member alignment should be different from the rules applying to
> > other architectures.
>
> Here is something that might be relevant:
>
> "System V Application Binary Interface Intel386 Architecture Processor
> Supplement Version 1.0"
>
> https://uclibc.org/docs/psABI-i386.pdf
>
> Specifically, table 2.1 on page 8 shows that the long long types are 64-bit
> types with 32-bit alignment.
True, and gcc confirms that:
$ cat foo.cc
#include <cstdio>
int main() { printf("%zd\n", alignof(long long)); return 0; }
$ uname -m
x86_64
$ g++ -Wall -Wextra -o foo foo.cc && ./foo
8
$ g++ -m32 -Wall -Wextra -o foo foo.cc && ./foo
4
Kind regards,
Frank
--
Dr.-Ing. Frank Mehnert, [email protected], +49-351-41 883 224
Kernkonzept GmbH. Sitz: Dresden. Amtsgericht Dresden, HRB 31129.
Geschäftsführer: Dr.-Ing. Michael Hohmuth