This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
Community source repository for glibc add-on ports branch, master, updated. glibc-2.10.1-30-g2748955
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 22 Oct 2009 19:41:11 -0000
- Subject: 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