about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc64
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-03-06 01:34:09 +0000
committerRoland McGrath <roland@gnu.org>2006-03-06 01:34:09 +0000
commit043cee3700d01624d694d8e1afc76a666309f89c (patch)
treeaa2f8a2b421429ca84eba888fefd946df6e3d669 /sysdeps/sparc/sparc64
parenta26c855c73bf2329496f9b74535045c22c92a12d (diff)
downloadglibc-043cee3700d01624d694d8e1afc76a666309f89c.tar.gz
glibc-043cee3700d01624d694d8e1afc76a666309f89c.tar.xz
glibc-043cee3700d01624d694d8e1afc76a666309f89c.zip
* shlib-versions: Use sparc64.*- for CPU patterns.
Diffstat (limited to 'sysdeps/sparc/sparc64')
-rw-r--r--sysdeps/sparc/sparc64/dl-trampoline.S47
-rw-r--r--sysdeps/sparc/sparc64/elf/start.S4
-rw-r--r--sysdeps/sparc/sparc64/memcpy.S4
-rw-r--r--sysdeps/sparc/sparc64/sparcv9v/memset.S2
4 files changed, 56 insertions, 1 deletions
diff --git a/sysdeps/sparc/sparc64/dl-trampoline.S b/sysdeps/sparc/sparc64/dl-trampoline.S
index f85527f4c4..81e5c556c3 100644
--- a/sysdeps/sparc/sparc64/dl-trampoline.S
+++ b/sysdeps/sparc/sparc64/dl-trampoline.S
@@ -30,7 +30,13 @@
 	.globl	_dl_runtime_resolve_0
 	.type	_dl_runtime_resolve_0, @function
 _dl_runtime_resolve_0:
+	cfi_startproc
+
 	save	%sp, -192, %sp
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+
 	sethi   %hi(1047552), %l2
 	ldx	[%g4 + 32 + 8], %o0
 	sub     %g1, %g4, %l0
@@ -54,6 +60,9 @@ _dl_runtime_resolve_0:
 	 sllx    %l0, 3, %o1
 	jmp	%o0
 	 restore
+
+	cfi_endproc
+
 	.size	_dl_runtime_resolve_0, .-_dl_runtime_resolve_0
 
 	/* %g1:	PLT offset loaded by PLT entry
@@ -64,7 +73,13 @@ _dl_runtime_resolve_0:
 	.globl	_dl_runtime_resolve_1
 	.type	_dl_runtime_resolve_1, @function
 _dl_runtime_resolve_1:
+	cfi_startproc
+
 	save	%sp, -192, %sp
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+
 	srlx	%g1, 12, %o1
 	ldx	[%g4 + 8], %o0
 	add	%o1, %o1, %o3
@@ -73,6 +88,9 @@ _dl_runtime_resolve_1:
 	 add	%o1, %o3, %o1
 	jmp	%o0
 	 restore
+
+	cfi_endproc
+
 	.size	_dl_runtime_resolve_1, .-_dl_runtime_resolve_1
 
 	/* For the profiling cases we pass in our stack frame
@@ -92,6 +110,8 @@ _dl_runtime_resolve_1:
 	.globl	_dl_profile_save_regs
 	.type	_dl_profile_save_regs, @function
 _dl_profile_save_regs:
+	cfi_startproc
+
 	stx	%l0, [%sp + STACK_BIAS + ( 0 * 8)]
 	stx	%l1, [%sp + STACK_BIAS + ( 1 * 8)]
 	stx	%l2, [%sp + STACK_BIAS + ( 2 * 8)]
@@ -125,6 +145,9 @@ _dl_profile_save_regs:
 	std	%f28, [%sp + STACK_BIAS + (30 * 8)]
 	retl
 	 std	%f30, [%sp + STACK_BIAS + (31 * 8)]
+
+	cfi_endproc
+
 	.size	_dl_profile_save_regs, .-_dl_profile_save_regs
 
 	/* If we are going to call pltexit, then we must replicate
@@ -134,6 +157,8 @@ _dl_profile_save_regs:
 	.globl	_dl_profile_invoke
 	.type	_dl_profile_invoke, @function
 _dl_profile_invoke:
+	cfi_startproc
+
 	sub	%sp, %l0, %sp
 1:
 	srlx	%l0, 3, %l7
@@ -180,6 +205,10 @@ _dl_profile_invoke:
 	jmpl	%i7 + 8, %g0
 	 restore
 
+	cfi_endproc
+
+	.size	_dl_profile_invoke, .-_dl_profile_invoke
+
 	/* %g1:	PLT offset loaded by PLT entry
 	 * %g4: callers PC, which is PLT0 + 24, therefore we
 	 *      add (32 + 8) to get the address of PLT2 which
@@ -189,10 +218,16 @@ _dl_profile_invoke:
 	.globl	_dl_runtime_profile_0
 	.type	_dl_runtime_profile_0, @function
 _dl_runtime_profile_0:
+	cfi_startproc
+
 	brz,a,pn %fp, 1f
 	 mov	192, %g5
 	sub	%fp, %sp, %g5
 1:	save	%sp, -336, %sp
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+
 	sethi   %hi(1047552), %l2
 	ldx	[%g4 + 32 + 8], %o0
 	sub     %g1, %g4, %l0
@@ -236,6 +271,9 @@ _dl_runtime_profile_0:
 
 1:	jmp	%o0
 	 restore
+
+	cfi_endproc
+
 	.size	_dl_runtime_profile_0, .-_dl_runtime_profile_0
 
 	/* %g1:	PLT offset loaded by PLT entry
@@ -246,10 +284,16 @@ _dl_runtime_profile_0:
 	.globl	_dl_runtime_profile_1
 	.type	_dl_runtime_profile_1, @function
 _dl_runtime_profile_1:
+	cfi_startproc
+
 	brz,a,pn %fp, 1f
 	 mov	192, %g5
 	sub	%fp, %sp, %g5
 1:	save	%sp, -336, %sp
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+
 	srlx	%g1, 12, %o1
 	ldx	[%g4 + 8], %o0
 	add	%o1, %o1, %o3
@@ -277,4 +321,7 @@ _dl_runtime_profile_1:
 
 1:	jmp	%o0
 	 restore
+
+	cfi_endproc
+
 	.size	_dl_runtime_resolve_1, .-_dl_runtime_resolve_1
diff --git a/sysdeps/sparc/sparc64/elf/start.S b/sysdeps/sparc/sparc64/elf/start.S
index c008c6cea0..df44cae068 100644
--- a/sysdeps/sparc/sparc64/elf/start.S
+++ b/sysdeps/sparc/sparc64/elf/start.S
@@ -48,6 +48,7 @@
 	.global _start
 	.type _start,#function
 _start:
+	cfi_startproc
 
 #ifdef SHARED
 	sethi	%hi(_GLOBAL_OFFSET_TABLE_-4), %l7
@@ -59,6 +60,7 @@ _start:
      drop their arguments.  */
 	mov	%g0, %fp
 	sub	%sp, 6*8, %sp
+	cfi_adjust_cfa_offset(6*8)
 
   /* Extract the arguments and environment as encoded on the stack.  The
      argument info starts after one register window (16 words) past the SP,
@@ -92,6 +94,8 @@ _start:
   /* Die very horribly if exit returns.  */
 	illtrap	0
 
+	cfi_endproc
+
 	.size _start, .-_start
 
 /* Define a symbol for the first piece of initialized data.  */
diff --git a/sysdeps/sparc/sparc64/memcpy.S b/sysdeps/sparc/sparc64/memcpy.S
index a3f7b96a91..5993358017 100644
--- a/sysdeps/sparc/sparc64/memcpy.S
+++ b/sysdeps/sparc/sparc64/memcpy.S
@@ -209,6 +209,7 @@ ENTRY(bcopy)
 END(bcopy)
 
 	.align		32
+ENTRY(__memcpy_large)
 200:	be,pt		%xcc, 201f			/* CTI				*/
 	 andcc		%o0, 0x38, %g5			/* IEU1		Group		*/
 	mov		8, %g1				/* IEU0				*/
@@ -443,6 +444,7 @@ END(bcopy)
 	 stb		%o5, [%o0 - 1]			/* Store			*/
 209:	retl
 	 mov		%g4, %o0
+END(__memcpy_large)
 
 #ifdef USE_BPR
 
@@ -698,6 +700,7 @@ ENTRY(memcpy)
 END(memcpy)
 
 	.align		32
+ENTRY(__memmove_slowpath)
 228:	andcc		%o2, 1, %g0			/* IEU1		Group		*/
 	be,pt		%icc, 2f+4			/* CTI				*/
 1:	 ldub		[%o1 - 1], %o5			/* LOAD		Group		*/
@@ -718,6 +721,7 @@ END(memcpy)
 	 mov		%g4, %o0
 219:	retl
 	 nop
+END(__memmove_slowpath)
 
 	.align		32
 ENTRY(memmove)
diff --git a/sysdeps/sparc/sparc64/sparcv9v/memset.S b/sysdeps/sparc/sparc64/sparcv9v/memset.S
index 7a51ef77dc..ac0a50cf8e 100644
--- a/sysdeps/sparc/sparc64/sparcv9v/memset.S
+++ b/sysdeps/sparc/sparc64/sparcv9v/memset.S
@@ -45,6 +45,7 @@ ENTRY(memset)
 	sllx		%o2, 32, %g1
 	ba,pt		%XCC, 1f
 	 or		%g1, %o2, %o2
+END(memset)
 
 ENTRY(__bzero)
 	clr		%o2
@@ -121,7 +122,6 @@ ENTRY(__bzero)
 	retl
 	 mov		%o3, %o0
 END(__bzero)
-END(memset)
 
 libc_hidden_builtin_def (memset)
 weak_alias (__bzero, bzero)