mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
* shlib-versions: Use sparc64.*- for CPU patterns.
This commit is contained in:
@@ -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
|
||||
|
@@ -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. */
|
||||
|
@@ -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)
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user