summary refs log tree commit diff
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.gz
glibc-847242451c6e53156abead29aa47a3f56cfcc928.tar.xz
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)