This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/25093] New: sparc64 sigsetjmp buffer size mismatch
- From: "tg at mirbsd dot de" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 09 Oct 2019 23:43:19 +0000
- Subject: [Bug libc/25093] New: sparc64 sigsetjmp buffer size mismatch
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=25093
Bug ID: 25093
Summary: sparc64 sigsetjmp buffer size mismatch
Product: glibc
Version: 2.32
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: tg at mirbsd dot de
CC: drepper.fsp at gmail dot com
Target Milestone: ---
Created attachment 12036
--> https://sourceware.org/bugzilla/attachment.cgi?id=12036&action=edit
patch
While reviewing a bug in µClibc-ng, which uses the same sigsetjmp structure as
glibc but actually uses the __mask_was_saved member during siglongjmp, I found
that said member was at offset 496, not 512 as expected (and therefore, the
structure was too short).
Looking at what it does, it calls the getcontext syscall, and the kernel side
of the structure has one more member in the FPU registers (which doesn’t exist
on sparc32 apparently and maybe therefore was missed?).
Adding the missing FPU member (patch attached) makes the offsetof the
__mask_was_saved member jump to 512 (at least in µClibc-ng, didn’t check
glibc).
--
You are receiving this mail because:
You are on the CC list for the bug.