This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
>>>>> Jakub Jelinek writes:
> On Mon, Jan 24, 2000 at 08:14:29AM +0100, Andreas Jaeger wrote:
>>
>> Looking through the various asm-*/siginfo.h files in Linux 2.3.41pre2,
>> I've encountered only two platforms with problems: Alpha and Sparc.
>> Could the maintainers of these platforms please check the following
>> and take appropriate action?
>>
>> Alpha defines:
>> #define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 4)
>> #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 4)
>>
>> but all other platforms have a 3 instead of a 4 for these two defines:
>> #define SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 3)
>> #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3)
>>
>> Sparc and Sparc64 additionally define the member _trapno for _sigfault
>> - and SIGEMT is also only used by Sparc*:
>> /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGEMT */
>> struct {
>> void *_addr; /* faulting insn/memory ref. */
>> int _trapno; /* TRAP # which caused the signal */
>> } _sigfault;
>>
>>
>> Do we need Linux/alpha and Linux/sparc versions of <bits/siginfo.h>?
> (Again, something which I had scheduled for today anyway).
Good that I didn't investigate more work into it;-).
Jakub, what do you think? Are now (with your patch and Linux
2.3.41pre2) all siginfo problems fixed? Is 32bit uid support complete
(apart from some cleaning up)?
> IMHO, we need only separate version of sparc siginfo, plus use __WORDSIZE
> in the generic linux version (I think ia64, ppc64, mips64 etc. could use it
> as well):
MIPS has already a special version since some constants have different
values than the rest of the kernel :-(
> [...]
New Sparc specific <bits/siginfo.h>:
> +
> + /* SIGILL, SIGFPE, SIGSEGV, SIGBUS. */
You didn't add SIGEMT in the comment - is this correct?
> + struct
> + {
> + void *si_addr; /* Faulting insn/memory ref. */
> + int si_trapno;
> + } _sigfault;
The rest looks fine.
Thanks,
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.rhein-neckar.de
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |