[patch] Add Ada tasking support for hppa-unknown-linux-gnu (take 2)
Arnaud Charlet
charlet@adacore.com
Mon May 2 09:54:00 GMT 2005
> > > 3) sigset_t changed to array of unsigned_long.
> >
> > Could you explain why you changed sigset_t definition ?
>
> >From bits/sigset.h:
>
> # define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
> typedef struct
> {
> unsigned long int __val[_SIGSET_NWORDS];
> } __sigset_t;
I understand that, but the previous code used an array of bytes explicitely
to share code between 32 and 64 bit platforms where typically Long_Integer'Size
is different. So unless the underlying structure/alignment is different,
I would stick to the previous definition.
You can check the size and alignment used by compiling the file with -gnatR3
> > Also, the alignment for atomic_lock_t seems wrong to me: you are using
> > 8 * 16, but the alignment is specified in *bytes*, not bits (a usual
> > confusion), so this value seems very high to me. Didn't you mean 16
> > instead ?
>
> The required alignment is 16 bytes.
So the alignment in the file is indeed wrong and should be 16 rather than
8 * 16
Arno
More information about the Gcc-patches
mailing list