tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [PATCH v3] Include XSTATE note in x86 core dumps



On Tue, 2019-07-16 at 05:23 +1000, matthew green wrote:
> > Introduce a simple COREDUMP_MACHDEP_LWP_NOTES logic to provide machdep
> > API for injecting per-LWP notes into coredumps, and use it to append
> > PT_GETXSTATE note.
> 
> this macro is pretty gross.  these are the problems i see:
> 
> - assumes 'int error'
> - assumes 'struct lwp *l = curlwp'
> - assumes 'name' is something
> - assumes 'ns' is something
> - returns from macro
> 
> all of those should be resolved.  4 are simple, they can be easy
> inputs.  the return issue is more difficult, and perhaps should
> be revisited (ie, perhaps just skip over this entry instead of
> assuming return is right.)

Will do.  I have mixed feelings about ignoring errors but I guess it
won't hurt that much.

> 
> > Since the XSTATE block uses the same format on i386 and amd64, the code
> > does not have to conditionalize between 32-bit and 64-bit ELF format
> > on that.  However, it does need to distinguish between 32-bit and 64-bit
> > PT_* values.  In order to do that, it reuses PT32_* constant already
> > present for ptrace(), and adds a matching PT64_GETXSTATE to satisfy
> > the cpp logic.
> 
> i don't understand why the need to include netbsd32 headers or
> define these separately.
> 
> if the layout is the same, what's the benefit?  we already know
> to assume 32 or 64 bit from the ELF core header, right?
> 

That's because PT_GETXSTATE constant has different value on amd64
and i386.  We need to use appropriate value depending on whether
the running program is 64- or 32-bit.

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part



Home | Main Index | Thread Index | Old Index