Skip to content

Commit

Permalink
* shlib-versions: Use sparc64.*- for CPU patterns.
Browse files Browse the repository at this point in the history
  • Loading branch information
Roland McGrath committed Mar 6, 2006
1 parent a26c855 commit 043cee3
Show file tree
Hide file tree
Showing 34 changed files with 437 additions and 457 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2006-03-05 David S. Miller <davem@sunset.davemloft.net>

* shlib-versions: Use sparc64.*- for CPU patterns.

2006-03-05 Roland McGrath <roland@frob.com>

* bits/resource.h (RLIMIT_SBSIZE, RLIMIT_AS, RLIMIT_VMEM): Define.
Expand Down
11 changes: 11 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
2006-03-05 David S. Miller <davem@sunset.davemloft.net>

* sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S:
Use __syscall_error.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/Makefile: New file.

2006-03-02 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/aio_misc.h: Various cleanups.
Expand Down
10 changes: 5 additions & 5 deletions shlib-versions
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ s390x-.*-.* WORDSIZE32 s390-@VENDOR@-@OS@
s390-.*-.* WORDSIZE64 s390x-@VENDOR@-@OS@
powerpc64-.*-.* WORDSIZE32 powerpc-@VENDOR@-@OS@
powerpc.*-.*-.* WORDSIZE64 powerpc64-@VENDOR@-@OS@
sparc64-.*-.* WORDSIZE32 sparc-@VENDOR@-@OS@
sparc64.*-.*-.* WORDSIZE32 sparc-@VENDOR@-@OS@
sparc.*-.*-.* WORDSIZE64 sparc64-@VENDOR@-@OS@

# Configuration Library=version Earliest symbol set (optional)
# ------------- --------------- ------------------------------

# The interface to -lm depends mostly only on cpu, not on operating system.
sparc64-.*-linux.* libm=6 GLIBC_2.2
sparc64.*-.*-linux.* libm=6 GLIBC_2.2
alpha.*-.*-linux.* libm=6.1
ia64-.*-linux.* libm=6.1 GLIBC_2.2
sh.*-.*-linux.* libm=6 GLIBC_2.2
Expand All @@ -58,7 +58,7 @@ sh.*-.*-linux.* libm=6 GLIBC_2.2
alpha.*-.*-linux.* libc=6.1
ia64-.*-linux.* libc=6.1 GLIBC_2.2
sh.*-.*-linux.* libc=6 GLIBC_2.2
sparc64-.*-linux.* libc=6 GLIBC_2.2
sparc64.*-.*-linux.* libc=6 GLIBC_2.2
.*-.*-linux.* libc=6

# libmachuser.so.1 corresponds to mach/*.defs as of Utah's UK22 release.
Expand All @@ -72,7 +72,7 @@ sparc64-.*-linux.* libc=6 GLIBC_2.2

# The dynamic loader also requires different names.
i.86-.*-linux.* ld=ld-linux.so.2
sparc64-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2
sparc64.*-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2
sparc.*-.*-linux.* ld=ld-linux.so.2
alpha.*-.*-linux.* ld=ld-linux.so.2
sh.*-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2
Expand Down Expand Up @@ -121,7 +121,7 @@ alpha.*-.*-linux.* libcrypt=1.1
alpha.*-.*-linux.* libBrokenLocale=1.1
ia64-.*-.* libBrokenLocale=1 GLIBC_2.2
sh.*-.*-.* libBrokenLocale=1 GLIBC_2.2
sparc64-.*-.* libBrokenLocale=1 GLIBC_2.2
sparc64.*-.*-.* libBrokenLocale=1 GLIBC_2.2
.*-.*-.* libBrokenLocale=1

# The real-time library from POSIX.1b.
Expand Down
29 changes: 29 additions & 0 deletions sysdeps/sparc/sparc32/dl-trampoline.S
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,22 @@
.globl _dl_runtime_resolve
.type _dl_runtime_resolve, @function
_dl_runtime_resolve:
cfi_startproc

save %sp, -104, %sp
cfi_def_cfa_register(%fp)
cfi_window_save
cfi_register (%o7, %i7)

ld [%g2 + 8], %o0
srl %g1, 10, %o1
call _dl_fixup
sub %o1, 4*12, %o1
jmp %o0
restore

cfi_endproc

.size _dl_runtime_resolve, .-_dl_runtime_resolve

/* For the profiling cases we pass in our stack frame
Expand All @@ -56,6 +65,8 @@ _dl_runtime_resolve:
.globl _dl_profile_save_regs
.type _dl_profile_save_regs, @function
_dl_profile_save_regs:
cfi_startproc

std %l0, [%sp + ( 0 * 8)]
std %l2, [%sp + ( 1 * 8)]
std %l4, [%sp + ( 2 * 8)]
Expand All @@ -67,6 +78,9 @@ _dl_profile_save_regs:
ld [%sp + (8 * 8)], %l4
retl
st %l4, [%sp + (8 * 8)]

cfi_endproc

.size _dl_profile_save_regs, .-_dl_profile_save_regs

/* If we are going to call pltexit, then we must replicate
Expand All @@ -76,6 +90,8 @@ _dl_profile_save_regs:
.globl _dl_profile_invoke
.type _dl_profile_invoke, @function
_dl_profile_invoke:
cfi_startproc

sub %sp, %l0, %sp
1:
srl %l0, 3, %l7
Expand Down Expand Up @@ -112,6 +128,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
* %g2: callers PC, which is PLT0 + 4, and we store the
* link map at PLT0 + 12, therefore we add 8 to get
Expand All @@ -121,11 +141,17 @@ _dl_profile_invoke:
.globl _dl_runtime_profile
.type _dl_runtime_profile, @function
_dl_runtime_profile:
cfi_startproc

cmp %fp, 0
be,a 1f
mov 104, %g3
sub %fp, %sp, %g3
1: save %sp, -104, %sp
cfi_def_cfa_register(%fp)
cfi_window_save
cfi_register(%o7, %i7)

ld [%g2 + 8], %o0
srl %g1, 10, %o1
mov %i7, %o2
Expand All @@ -152,4 +178,7 @@ _dl_runtime_profile:

1: jmp %o0
restore

cfi_endproc

.size _dl_runtime_profile, .-_dl_runtime_profile
4 changes: 4 additions & 0 deletions sysdeps/sparc/sparc32/elf/start.S
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
.global _start
.type _start,#function
_start:
cfi_startproc

#ifdef SHARED
sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %l7
Expand All @@ -59,6 +60,7 @@ _start:
drop their arguments. */
mov %g0, %fp
sub %sp, 6*4, %sp
cfi_adjust_cfa_offset(6*4)

/* Extract the arguments and environment as encoded on the stack. The
argument info starts after one register window (16 words) past the SP. */
Expand Down Expand Up @@ -91,6 +93,8 @@ _start:
/* Die very horribly if exit returns. */
unimp

cfi_endproc

.size _start, .-_start

/* Define a symbol for the first piece of initialized data. */
Expand Down
21 changes: 10 additions & 11 deletions sysdeps/sparc/sparc32/memchr.S
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,15 @@

.text
.align 4
0: cmp %o2, 0
ENTRY(__memchr)
andcc %o1, 0xff, %o1
sll %o1, 8, %g6
andcc %o0, 3, %g0
or %o1, %g6, %g6
sll %g6, 16, %o3
be 10f
or %o3, %g6, %g2
cmp %o2, 0
be 9f
sethi %hi(0x80808080), %o4
ldub [%o0], %g4
Expand Down Expand Up @@ -64,16 +72,7 @@
clr %o0
1: retl
sub %o0, 1, %o0

ENTRY(__memchr)
andcc %o1, 0xff, %o1
sll %o1, 8, %g6
andcc %o0, 3, %g0
or %o1, %g6, %g6
sll %g6, 16, %o3
bne 0b
or %o3, %g6, %g2
sethi %hi(0x80808080), %o4
10: sethi %hi(0x80808080), %o4
or %o4, %lo(0x80808080), %o3
4: sethi %hi(0x01010101), %o5
5: and %o2, 3, %g1
Expand Down
40 changes: 21 additions & 19 deletions sysdeps/sparc/sparc32/memcpy.S
Original file line number Diff line number Diff line change
Expand Up @@ -146,28 +146,12 @@
.text
.align 4

70: andcc %o1, 1, %g0
be 4f
andcc %o1, 2, %g0

ldub [%o1 - 1], %g2
sub %o1, 1, %o1
stb %g2, [%o0 - 1]
sub %o2, 1, %o2
be 3f
sub %o0, 1, %o0
4: lduh [%o1 - 2], %g2
sub %o1, 2, %o1
sth %g2, [%o0 - 2]
sub %o2, 2, %o2
b 3f
sub %o0, 2, %o0

ENTRY(bcopy)
mov %o0, %o3
mov %o1, %o0
mov %o3, %o1
END(bcopy)

ENTRY(memmove)
cmp %o0, %o1
st %o0, [%sp + 64]
Expand All @@ -185,8 +169,26 @@ ENTRY(memmove)
cmp %o2, 15
bleu 91f
andcc %o1, 3, %g0
bne 70b
3: andcc %o1, 4, %g0
be 3f
nop

andcc %o1, 1, %g0
be 4f
andcc %o1, 2, %g0

ldub [%o1 - 1], %g2
sub %o1, 1, %o1
stb %g2, [%o0 - 1]
sub %o2, 1, %o2
be 3f
sub %o0, 1, %o0
4: lduh [%o1 - 2], %g2
sub %o1, 2, %o1
sth %g2, [%o0 - 2]
sub %o2, 2, %o2
sub %o0, 2, %o0

3: andcc %o1, 4, %g0

be 2f
mov %o2, %g1
Expand Down
14 changes: 8 additions & 6 deletions sysdeps/sparc/sparc32/stpcpy.S
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,13 @@

.text
.align 4
10: ldub [%o1], %o5

ENTRY(__stpcpy)
andcc %o1, 3, %g0
be 20f
sethi %hi(0x80808080), %o4

ldub [%o1], %o5
stb %o5, [%o0]
cmp %o5, 0
add %o0, 1, %o0
Expand Down Expand Up @@ -67,11 +73,7 @@
1: retl
add %o0, -1, %o0

ENTRY(__stpcpy)
andcc %o1, 3, %g0
bne 10b
sethi %hi(0x80808080), %o4
or %o4, %lo(0x80808080), %o3
20: or %o4, %lo(0x80808080), %o3
4: sethi %hi(0x01010101), %o4
5: or %o4, %lo(0x01010101), %o2
6: andcc %o0, 3, %g0
Expand Down
Loading

0 comments on commit 043cee3

Please sign in to comment.