This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [M68K/ColdFire patch 4/n] Remove kernel headers


Andreas Schwab wrote:
Maxim Kuvyrkov <maxim@codesourcery.com> writes:

This patch removes 2 kernel headers -- sigcontext.h and ucontext.h -- from GLIBC's m68k port. These headers are installed by the kernel,
that has a better idea of how it lays out the signal context.


This elegant patch is a result of about a day of debugging unwinding
of the signal frames.

Any comments?

You are breaking the ABI.

Why?


For m68k the change is close to no-op, both kernel and GLIBC headers define the structures to be the same.

For ColdFire, there are two changes to GLIBC headers:

1. GLIBC headers set the size of the storage for FP registers to 8 bytes. While ColdFire FP register are 64-bit, the kernel does not distinguish between ColdFire and m68k in this case (and why should it?) and stores the FP registers to the 12-byte entries as on m68k.

2. GLIBC headers expect sigcontext structure to hold all 16 general-purpose registers. What is the foundation for this change from how m68k defines this structure? The ColdFire kernel patches available at bitshrine.org do not change sigcontext.

Regards,

--
Maxim K.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]