This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc 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]

Community source repository for glibc add-on ports branch, master, updated. glibc-2.10.1-30-g2748955


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Community source repository for glibc add-on ports".

The branch, master has been updated
       via  274895575e732a4ae6117c8a4469552b36c5d783 (commit)
      from  fbc4c20a80a81ef6bc624a219ef5f2c746efe563 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=274895575e732a4ae6117c8a4469552b36c5d783

commit 274895575e732a4ae6117c8a4469552b36c5d783
Author: Daniel Gutson <dgutson@codesourcery.com>
Date:   Thu Oct 22 19:39:47 2009 +0000

    Add ARM EABI build attributes.
    
    Ensure that all objects in ARM EABI glibc have the proper EABI build
    attributes to indicate that 8-byte stack alignment is required and
    preserved.  (GNU ld does not currently give errors for mixing code
    requiring 8-byte alignment - such as anything built with GCC - and
    code not marked as preserving it, because of the prevalence of
    assembly code without proper markers to indicate that alignment is
    preserved.  The ARM RealView linker does give such errors.)
    
    The bulk of the markers are accomplished by the change to sysdep.h,
    but a few .S files do not include sysdep.h.  In the case of
    internal_accept4.S, no code is generated because EABI does not have
    socketcall, but for completeness a dummy file with the right
    attributes is used to override the default version in libc.
    
    	* sysdeps/arm/sysdep.h: (Tag_ABI_align8_preserved,
    	Tag_ABI_align8_needed): Attributes added.
    	* sysdeps/arm/elf/start.S: Likewise.
    	* sysdeps/arm/eabi/abi-note.S: New file.
    	* sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S: New
    	file.

diff --git a/ChangeLog.arm b/ChangeLog.arm
index f098f3c..170d51a 100644
--- a/ChangeLog.arm
+++ b/ChangeLog.arm
@@ -1,3 +1,12 @@
+2009-10-22  Daniel Gutson  <dgutson@codesourcery.com>
+
+	* sysdeps/arm/sysdep.h: (Tag_ABI_align8_preserved,
+	Tag_ABI_align8_needed): Attributes added.
+	* sysdeps/arm/elf/start.S: Likewise.
+	* sysdeps/arm/eabi/abi-note.S: New file.
+	* sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S: New
+	file.
+
 2009-10-22  Andrew Stubbs  <ams@codesourcery.com>
             Julian Brown  <julian@codesourcery.com>
 
diff --git a/sysdeps/arm/eabi/abi-note.S b/sysdeps/arm/eabi/abi-note.S
new file mode 100644
index 0000000..1060c3d
--- /dev/null
+++ b/sysdeps/arm/eabi/abi-note.S
@@ -0,0 +1,9 @@
+/* Tag_ABI_align8_preserved: This code preserves 8-byte
+   alignment in any callee.  */
+	.eabi_attribute 25, 1
+/* Tag_ABI_align8_needed: This code may require 8-byte alignment from
+   the caller.  */
+	.eabi_attribute 24, 1
+
+#include <csu/abi-note.S>
+
diff --git a/sysdeps/arm/elf/start.S b/sysdeps/arm/elf/start.S
index d21102e..c69f19d 100644
--- a/sysdeps/arm/elf/start.S
+++ b/sysdeps/arm/elf/start.S
@@ -58,6 +58,16 @@
 		...
 					NULL
 */
+
+#if defined(__ARM_EABI__)
+/* Tag_ABI_align8_preserved: This code preserves 8-byte
+   alignment in any callee.  */
+	.eabi_attribute 25, 1
+/* Tag_ABI_align8_needed: This code may require 8-byte alignment from
+   the caller.  */
+	.eabi_attribute 24, 1
+#endif
+
 #if defined(__thumb2__)
 	.thumb
 	.syntax unified
diff --git a/sysdeps/arm/sysdep.h b/sysdeps/arm/sysdep.h
index 8ca77a6..442d3a1 100644
--- a/sysdeps/arm/sysdep.h
+++ b/sysdeps/arm/sysdep.h
@@ -105,4 +105,13 @@
 #define mcount		_mcount
 #endif
 
+#if defined(__ARM_EABI__)
+/* Tag_ABI_align8_preserved: This code preserves 8-byte
+   alignment in any callee.  */
+	.eabi_attribute 25, 1
+/* Tag_ABI_align8_needed: This code may require 8-byte alignment from
+   the caller.  */
+	.eabi_attribute 24, 1
+#endif
+
 #endif	/* __ASSEMBLER__ */
diff --git a/sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S b/sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S
new file mode 100644
index 0000000..eeb5f50
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S
@@ -0,0 +1,6 @@
+/* Tag_ABI_align8_preserved: This code preserves 8-byte
+   alignment in any callee.  */
+	.eabi_attribute 25, 1
+/* Tag_ABI_align8_needed: This code may require 8-byte alignment from
+   the caller.  */
+	.eabi_attribute 24, 1

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog.arm                                      |    9 +++++++++
 sysdeps/arm/eabi/abi-note.S                        |    9 +++++++++
 sysdeps/arm/elf/start.S                            |   10 ++++++++++
 sysdeps/arm/sysdep.h                               |    9 +++++++++
 .../unix/sysv/linux/arm/eabi/internal_accept4.S    |    6 ++++++
 5 files changed, 43 insertions(+), 0 deletions(-)
 create mode 100644 sysdeps/arm/eabi/abi-note.S
 create mode 100644 sysdeps/unix/sysv/linux/arm/eabi/internal_accept4.S


hooks/post-receive
-- 
Community source repository for glibc add-on ports


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