aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/alpha
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-02 18:50:07 +0000
committerRoland McGrath <roland@gnu.org>1996-06-02 18:50:07 +0000
commit847242451c6e53156abead29aa47a3f56cfcc928 (patch)
treef036468f962f47af250a95e84633319dd5653a16 /sysdeps/alpha
parent76060ec0b8b5d6f0a860a94f100dc6e48041bac3 (diff)
downloadglibc-847242451c6e53156abead29aa47a3f56cfcc928.tar
glibc-847242451c6e53156abead29aa47a3f56cfcc928.tar.gz
glibc-847242451c6e53156abead29aa47a3f56cfcc928.tar.bz2
glibc-847242451c6e53156abead29aa47a3f56cfcc928.zip
Wed May 29 00:57:37 1996 David Mosberger-Tang <davidm@azstarnet.com>
* time/Makefile (tests): Add test-tz. * time/test-tz.c: New test. * time/clocktest.c: Rewrite to test more meaningfully. * sysdeps/unix/sysv/linux/syscalls.list: Add bdflush, create_module, delete_module, get_kernel_syms, init_module, klogctl. * sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Define as 5 instead of SYMLOOP_MAX, which is nowhere to be found. * sysdeps/unix/sysv/linux/sys/msq_buf.h, sysdeps/unix/sysv/linux/sys/sem_buf.h, sysdeps/unix/sysv/linux/sys/shm_buf.h [__USE_MISC]: Add more control ops and datastructures. * sysdeps/unix/sysv/linux/sys/io.h: New file declaring low-level I/O related functions. * sysdeps/unix/sysv/linux/sys/kdaemon.h: New file declaring kernel daemon related functions/operations. * sysdeps/unix/sysv/linux/sys/klog.h: New file declaring kernel logging related functions/operations. * sysdeps/unix/sysv/linux/sys/module.h: New file declaring kernel module related functions/operations. * sysdeps/unix/sysv/linux/speed.c: Only do "mention this twice" hack for non-Alpha based Linux systems. * sysdeps/unix/sysv/linux/alpha/speed.c: Remove. * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/module.h, sys/io.h, sys/klog.h, and sys/kdaemon.h. * sysdeps/unix/sysdep.h (END): Define empty END macro for platforms that don't need some sort of end directive at the end of functions. * sysdeps/unix/make-syscalls.sh: Emit END($strong) at end of syscall wrapper to allow correct generation of debugging information. * sysdeps/unix/alpha/sysdep.h (END): Redefine to use .end directive for both ELF and ECOFF. (ret): Delete macro. It was a dangerous macro and unnecessary since the Alpha assemblers recognizes "ret" as a macro themselves. * sysdeps/gnu/utmpbits.h (struct utmp): Move ut_tv behind ut_session to guarantee long alignment. This is important for Linux/Alpha since ut_tv.tv_sec is 32 bits and time_t is 64 bits. This will all get cleaned up as programs start to use ut_tv instead ut_time. * sysdeps/alpha/divrem.h: Include <sysdep.h> instead of <*/regdef.h>. * sysdeps/alpha/bsd-_setjmp.S (setjmp): Renamed entry point to _setjmp. * sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S, sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S, sysdeps/alpha/copysign.S, sysdeps/alpha/divrem.h, sysdeps/alpha/fabs.S, sysdeps/alpha/ffs.S, sysdeps/alpha/htonl.S, sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S, sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/pipe.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/sysdep.S: Use END macro instead of .end directive. * csu/initfini.c (_fini): Tell gcc that _fini is not a leaf function by having it contain a dummy function call. * configure.in (config_machine): Don't make ELF the default for Linux/Alpha just yet (use --with-elf instead). (.init/.fini check): Generate .text to ensure function start and end are in same section. * sysdeps/unix/bsd/osf/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/brk.S (__curbrk): Store the entire break value, not just the low 32 bits to accomodate large memories. Tue May 28 10:46:04 1996 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/alpha/brk.S: Rather than attempt to dynamically resolve _end for initializing __curbrk, support the brk(0) query idiom. * sysdeps/alpha/bb_init_func.S: Don't make `init' an external symbol. * sysdeps/alpha/bsd-_setjmp.S: The function is _setjmp not setjmp. Sun May 26 22:17:38 1996 Richard Henderson <rth@tamu.edu> * stdlib/lcong48_r.c, stdlib/seed48_r.c, stdlib/strtod.c, stdlib/strtol.c: Include <string.h> for mem* and str* fns used. Thu May 23 02:15:56 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/io.h, sys/klog.h, and sys/kdaemon.h. * sysdeps/unix/sysv/linux/sys/io.h: New file. * sysdeps/unix/sysv/linux/sys/klog.h: Ditto. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Ditto. * sysdeps/unix/alpha/sysdep.h (ret): Remove macro. It is dangerous and unnecessary since both OSF/1 as and gas define "ret" as a pseudo-instruction. Sat Jun 1 17:18:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * time/tzset.c (__tzset): Clear tz_rules name pointers after freeing them. Bug found by David Mosberger-Tang. * sysdeps/posix/tempname.c (__stdio_gen_tempname): Use __ptr_t instead of PTR. * extra-lib.mk (extra-objs): Use patsubst intead of $(A:=B) syntax to work around Make bug when A contains var ref. Fri May 31 18:27:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * string/string.h [__USE_MISC]: Declare basename; OSF/1 puts it here. * sysdeps/unix/sysv/linux/syscalls.list (getpgid, setpgid): Define __ strong names and [gs]etpgid as weak aliases. * math/math_private.h (GET_LDOUBLE_EXP): Add missing backslash.
Diffstat (limited to 'sysdeps/alpha')
-rw-r--r--sysdeps/alpha/_mcount.S2
-rw-r--r--sysdeps/alpha/bb_init_func.S9
-rw-r--r--sysdeps/alpha/bsd-_setjmp.S4
-rw-r--r--sysdeps/alpha/bsd-setjmp.S2
-rw-r--r--sysdeps/alpha/copysign.S2
-rw-r--r--sysdeps/alpha/divrem.h6
-rw-r--r--sysdeps/alpha/fabs.S2
-rw-r--r--sysdeps/alpha/ffs.S2
-rw-r--r--sysdeps/alpha/htonl.S2
-rw-r--r--sysdeps/alpha/htons.S2
-rw-r--r--sysdeps/alpha/memchr.S2
-rw-r--r--sysdeps/alpha/setjmp.S2
-rw-r--r--sysdeps/alpha/strlen.S2
13 files changed, 20 insertions, 19 deletions
diff --git a/sysdeps/alpha/_mcount.S b/sysdeps/alpha/_mcount.S
index 7944544e18..1730760316 100644
--- a/sysdeps/alpha/_mcount.S
+++ b/sysdeps/alpha/_mcount.S
@@ -106,4 +106,4 @@ LEAF(_mcount, 0xb0)
addq sp, 0xb0, sp
ret zero,($at),1
- .end _mcount
+ END(_mcount)
diff --git a/sysdeps/alpha/bb_init_func.S b/sysdeps/alpha/bb_init_func.S
index cd860b8303..dfa8c1d07b 100644
--- a/sysdeps/alpha/bb_init_func.S
+++ b/sysdeps/alpha/bb_init_func.S
@@ -41,10 +41,11 @@ ENTRY(__bb_init_func)
beq t0, init /* not initialized yet -> */
ret
- .end __bb_init_func
+END(__bb_init_func)
-
-LEAF(init, 0x38)
+.ent init
+init:
+ .frame sp, 0x38, ra, 0
subq sp, 0x38, sp
.prologue 0
@@ -84,4 +85,4 @@ leave: ldq pv, 0x30(sp)
addq sp, 0x38, sp
ret
- .end init
+.end init
diff --git a/sysdeps/alpha/bsd-_setjmp.S b/sysdeps/alpha/bsd-_setjmp.S
index 16709dfc09..da60442c23 100644
--- a/sysdeps/alpha/bsd-_setjmp.S
+++ b/sysdeps/alpha/bsd-_setjmp.S
@@ -23,8 +23,8 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h>
-ENTRY(setjmp)
+ENTRY(_setjmp)
lda $27, __sigsetjmp /* Load address to jump to. */
bis $31, $31, $17 /* Pass a second argument of zero. */
jmp $31, ($27), __sigsetjmp /* Call __sigsetjmp. */
- .end setjmp
+ END(_setjmp)
diff --git a/sysdeps/alpha/bsd-setjmp.S b/sysdeps/alpha/bsd-setjmp.S
index 113bc47c88..fc73815a84 100644
--- a/sysdeps/alpha/bsd-setjmp.S
+++ b/sysdeps/alpha/bsd-setjmp.S
@@ -27,4 +27,4 @@ ENTRY(setjmp)
lda $27, __sigsetjmp /* Load address to jump to. */
bis $31, 1, $17 /* Pass a second argument of one. */
jmp $31, ($27), __sigsetjmp /* Call __sigsetjmp. */
- .end setjmp
+ END(setjmp)
diff --git a/sysdeps/alpha/copysign.S b/sysdeps/alpha/copysign.S
index 9e9dff3ed0..95eb608666 100644
--- a/sysdeps/alpha/copysign.S
+++ b/sysdeps/alpha/copysign.S
@@ -24,6 +24,6 @@ ENTRY(__copysign)
cpys $f17,$f16,$f0
ret
- .end __copysign
+ END(__copysign)
weak_alias(__copysign, copysign)
diff --git a/sysdeps/alpha/divrem.h b/sysdeps/alpha/divrem.h
index ee7f64ef1e..f296179e99 100644
--- a/sysdeps/alpha/divrem.h
+++ b/sysdeps/alpha/divrem.h
@@ -32,12 +32,12 @@ sequence, these expect their arguments in registers t10 and t11, and
return the result in t12 (aka pv). Registers AT and v0 may be
clobbered (assembly temporary), anything else must be saved. */
+#include <sysdep.h>
+
#ifdef __linux__
-# include <alpha/regdef.h>
# include <asm/gentrap.h>
# include <asm/pal.h>
#else
-# include <regdef.h>
# include <machine/pal.h>
#endif
@@ -185,4 +185,4 @@ divbyzero:
ldq arg1,0x00(sp)
br done
- .end FUNC_NAME
+ END(FUNC_NAME)
diff --git a/sysdeps/alpha/fabs.S b/sysdeps/alpha/fabs.S
index 88e64b4718..dff8390b5a 100644
--- a/sysdeps/alpha/fabs.S
+++ b/sysdeps/alpha/fabs.S
@@ -24,4 +24,4 @@ ENTRY(fabs)
cpys $f31,$f16,$f0
ret
- .end fabs
+ END(fabs)
diff --git a/sysdeps/alpha/ffs.S b/sysdeps/alpha/ffs.S
index 7cf6281682..e4dd87c9f1 100644
--- a/sysdeps/alpha/ffs.S
+++ b/sysdeps/alpha/ffs.S
@@ -63,4 +63,4 @@ ENTRY(ffs)
done: ret
- .end ffs
+ END(ffs)
diff --git a/sysdeps/alpha/htonl.S b/sysdeps/alpha/htonl.S
index 8c1c700212..9777e461cc 100644
--- a/sysdeps/alpha/htonl.S
+++ b/sysdeps/alpha/htonl.S
@@ -31,7 +31,7 @@ ENTRY(__htonl)
or t2, v0, v0 # v0 = ddccbbaa
ret
- .end __htonl
+ END(__htonl)
strong_alias_asm(__htonl, __ntohl)
weak_alias(__htonl, htonl)
diff --git a/sysdeps/alpha/htons.S b/sysdeps/alpha/htons.S
index cb22b21661..7717636782 100644
--- a/sysdeps/alpha/htons.S
+++ b/sysdeps/alpha/htons.S
@@ -25,7 +25,7 @@ ENTRY(__htons)
bis v0, t1, v0 # v0 = bbaa
ret
- .end __htons
+ END(__htons)
strong_alias_asm(__htons, __ntohs)
weak_alias(__htons, htons)
diff --git a/sysdeps/alpha/memchr.S b/sysdeps/alpha/memchr.S
index 2f78697418..2d21247174 100644
--- a/sysdeps/alpha/memchr.S
+++ b/sysdeps/alpha/memchr.S
@@ -157,4 +157,4 @@ not_found:
mov zero, v0
ret
- .end memchr
+ END(memchr)
diff --git a/sysdeps/alpha/setjmp.S b/sysdeps/alpha/setjmp.S
index b165d2c2c8..da71a3292a 100644
--- a/sysdeps/alpha/setjmp.S
+++ b/sysdeps/alpha/setjmp.S
@@ -30,4 +30,4 @@ ENTRY (__sigsetjmp)
bis $15, $15, $19 /* Pass FP as 4th arg. */
jmp $31, ($27), __sigsetjmp_aux /* Call __sigsetjmp_aux. */
- .end __sigsetjmp
+ END(__sigsetjmp)
diff --git a/sysdeps/alpha/strlen.S b/sysdeps/alpha/strlen.S
index c64126164a..15c78cde64 100644
--- a/sysdeps/alpha/strlen.S
+++ b/sysdeps/alpha/strlen.S
@@ -67,4 +67,4 @@ found: blbs t1, done # make aligned case fast
done: subq v0, a0, v0
ret
- .end strlen
+ END(strlen)