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]

GNU C Library master sources branch master updated. glibc-2.17-544-g7214d55


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 "GNU C Library master sources".

The branch, master has been updated
       via  7214d558d3a63e9c7b638787953ab1fe80c4adc1 (commit)
      from  ccdad15df5bb2ec898fbf10c7195164cf228833a (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7214d558d3a63e9c7b638787953ab1fe80c4adc1

commit 7214d558d3a63e9c7b638787953ab1fe80c4adc1
Author: Roland McGrath <roland@hack.frob.com>
Date:   Fri Apr 19 11:33:01 2013 -0700

    ARM: Macroize assembly use of EABI unwind directives.

diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 355d980..9bd3aad 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,10 @@
+2013-04-19  Roland McGrath  <roland@hack.frob.com>
+
+	* sysdeps/arm/sysdep.h
+	(eabi_fnstart, eabi_fnend, eabi_save, eabi_cantunwind, eabi_pad):
+	New macros.
+	* sysdeps/arm/dl-tlsdesc.S: Use them.
+
 2013-03-26  Mans Rullgard  <mans@mansr.com>
 
 	* sysdeps/arm/preconfigure.in: Use "test" instead of [ ].
diff --git a/ports/sysdeps/arm/dl-tlsdesc.S b/ports/sysdeps/arm/dl-tlsdesc.S
index 7203c06..94f6801 100644
--- a/ports/sysdeps/arm/dl-tlsdesc.S
+++ b/ports/sysdeps/arm/dl-tlsdesc.S
@@ -29,13 +29,13 @@
 	.global	_dl_tlsdesc_return
 	.type	_dl_tlsdesc_return,#function
 	cfi_startproc
-	.fnstart
+	eabi_fnstart
 	.align 2
 _dl_tlsdesc_return:
 	sfi_breg r0, \
 	ldr	r0, [\B]
 	BX	(lr)
-	.fnend
+	eabi_fnend
 	cfi_endproc
 	.size	_dl_tlsdesc_return, .-_dl_tlsdesc_return
 
@@ -43,14 +43,14 @@ _dl_tlsdesc_return:
 	.global	_dl_tlsdesc_undefweak
 	.type	_dl_tlsdesc_undefweak,#function
 	cfi_startproc
-	.fnstart
+	eabi_fnstart
 	.align 2
 _dl_tlsdesc_undefweak:
 	GET_TLS (r1)
 	rsb 	r0, r0, #0
 	BX	(lr)
 	cfi_endproc
-	.fnend
+	eabi_fnend
 	.size	_dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak
 
 #ifdef SHARED
@@ -80,12 +80,12 @@ _dl_tlsdesc_dynamic(struct tlsdesc *tdp)
 
 */
 	cfi_startproc
-	.fnstart
+	eabi_fnstart
 	.align 2
 _dl_tlsdesc_dynamic:
 	/* Our calling convention is to clobber r0, r1 and the processor
 	   flags.  All others that are modified must be saved */
-	.save	{r2,r3,r4,lr}
+	eabi_save ({r2,r3,r4,lr})
 	push	{r2,r3,r4,lr}
 	cfi_adjust_cfa_offset (16)
 	cfi_rel_offset (r2,0)
@@ -135,7 +135,7 @@ _dl_tlsdesc_dynamic:
 #else
 	pop	{r2,r3,r4, pc}
 #endif
-	.fnend
+	eabi_fnend
 	cfi_endproc
 	.size	_dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic
 #endif /* SHARED */
@@ -145,7 +145,7 @@ _dl_tlsdesc_dynamic:
 	.global	_dl_tlsdesc_lazy_resolver
 	.type	_dl_tlsdesc_lazy_resolver,#function
 	cfi_startproc
-	.fnstart
+	eabi_fnstart
 	.align 2
 _dl_tlsdesc_lazy_resolver:
 	/* r0 points at the tlsdesc,
@@ -155,10 +155,10 @@ _dl_tlsdesc_lazy_resolver:
 	  We push the remaining call-clobbered registers here, and also
 	  R1 -- to keep the stack correctly aligned.  */
 	/* Tell the unwinder that r2 has already been pushed.  */
-	.save	{r2}
+	eabi_save ({r2})
 	cfi_adjust_cfa_offset (4)
 	cfi_rel_offset (r2, 0)
-	.save	{r0,r1,r3,ip,lr}
+	eabi_save ({r0,r1,r3,ip,lr})
 	push	{r0, r1, r3, ip, lr}
 	cfi_adjust_cfa_offset (20)
 	cfi_rel_offset (r0, 0)
@@ -180,7 +180,7 @@ _dl_tlsdesc_lazy_resolver:
 	sfi_breg r0, \
 	ldr	r1, [\B, #4]
 	BX	(r1)
-	.fnend
+	eabi_fnend
 	cfi_endproc
 	.size	_dl_tlsdesc_lazy_resolver, .-_dl_tlsdesc_lazy_resolver
 
@@ -190,14 +190,14 @@ _dl_tlsdesc_lazy_resolver:
 	.global	_dl_tlsdesc_resolve_hold
 	.type	_dl_tlsdesc_resolve_hold,#function
 	cfi_startproc
-	.fnstart
+	eabi_fnstart
 	.align 2
 _dl_tlsdesc_resolve_hold:
 	/* Tell the unwinder that r2 has already been pushed.  */
-	.save	{r2}
+	eabi_save ({r2})
 	cfi_adjust_cfa_offset (4)
 	cfi_rel_offset (r2, 0)
-	.save	{r0,r1,r3,ip,lr}
+	eabi_save ({r0,r1,r3,ip,lr})
 	push	{r0, r1, r3, ip, lr}
 	cfi_adjust_cfa_offset (20)
 	cfi_rel_offset (r0, 0)
@@ -220,6 +220,6 @@ _dl_tlsdesc_resolve_hold:
 	sfi_breg r0, \
 	ldr     r1, [\B, #4]
 	BX      (r1)
-	.fnend
+	eabi_fnend
 	cfi_endproc
 	.size	_dl_tlsdesc_resolve_hold, .-_dl_tlsdesc_resolve_hold
diff --git a/ports/sysdeps/arm/sysdep.h b/ports/sysdeps/arm/sysdep.h
index 83df7eb..5501597 100644
--- a/ports/sysdeps/arm/sysdep.h
+++ b/ports/sysdeps/arm/sysdep.h
@@ -257,6 +257,15 @@
 
 # endif
 
+/* These are the directives used for EABI unwind info.
+   Wrap them in macros so another configuration's sysdep.h
+   file can define them away if it doesn't use EABI unwind info.  */
+# define eabi_fnstart		.fnstart
+# define eabi_fnend		.fnend
+# define eabi_save(...)		.save __VA_ARGS__
+# define eabi_cantunwind	.cantunwind
+# define eabi_pad(n)		.pad n
+
 #endif	/* __ASSEMBLER__ */
 
 /* This number is the offset from the pc at the current location.  */

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

Summary of changes:
 ports/ChangeLog.arm            |    7 +++++++
 ports/sysdeps/arm/dl-tlsdesc.S |   30 +++++++++++++++---------------
 ports/sysdeps/arm/sysdep.h     |    9 +++++++++
 3 files changed, 31 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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