NEWS: Add comment about S/390 ABI changes

Message ID 20140408143518.GA28705@maggie
State Committed
Headers

Commit Message

Andreas Krebbel April 8, 2014, 2:35 p.m. UTC
  Hi,

the attached patch adds the text Carlos added to:
https://sourceware.org/glibc/wiki/Release/2.19#Packaging_Changes
to the glibc NEWS file.  Thanks to Carlos for writing it!

Alan, is that ok for 2.19 branch as well?

Bye,

-Andreas-


>From aae3aab214438c4e3e09daba41f62a9ad3fbc4df Mon Sep 17 00:00:00 2001
From: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date: Tue, 8 Apr 2014 16:30:07 +0200
Subject: [PATCH] NEWS: Add comment about changed ABI on s390 and s390x.

---
 NEWS | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
  

Comments

Allan McRae April 10, 2014, 3:20 a.m. UTC | #1
On 09/04/14 00:35, Andreas Krebbel wrote:
> Hi,
> 
> the attached patch adds the text Carlos added to:
> https://sourceware.org/glibc/wiki/Release/2.19#Packaging_Changes
> to the glibc NEWS file.  Thanks to Carlos for writing it!
> 
> Alan, is that ok for 2.19 branch as well?

Once committed to master, this is fine to pull to 2.19.

Allan
  

Patch

diff --git a/NEWS b/NEWS
index db8cc10..0f86584 100644
--- a/NEWS
+++ b/NEWS
@@ -151,6 +151,20 @@  Version 2.19
 
 * Preliminary documentation about Multi-Thread, Async-Signal and
   Async-Cancel Safety has been added.
+
+* Change of ABI data structures for s390 and s390x:
+  On s390 and s390x the size of struct ucontext and jmp_buf was increased to
+  allow for future hardware extensions. All library functions that accept or
+  return these structures were versioned in order to provide backwards
+  compatibility with existing code. However, not all cases can be handled
+  with interface versioning. If an application embeds either structure into
+  another structure and that structure is passed to another compilation unit
+  which expects the newer larger-sized object then any access to the new
+  fields will result in undefined behaviour. Similarly any access to fields
+  that were moved by the enlarging of the structures will cause undefined
+  behaviour. To fix the undefined behaviour all objects that are part of the
+  final in-memory image must agree on the size of structures, and this may
+  require recompilation.
 
 Version 2.18