Module Name:    src
Committed By:   matt
Date:           Fri Jun 21 15:54:08 UTC 2013

Modified Files:
        src/lib/csu/arch/vax: Makefile.inc crt0.S
Added Files:
        src/lib/csu/arch/vax: crtbegin.S crtend.S

Log Message:
USE_COMPILERCRTSTUFF=no support for vax.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/csu/arch/vax/Makefile.inc
cvs rdiff -u -r1.2 -r1.3 src/lib/csu/arch/vax/crt0.S
cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/vax/crtbegin.S \
    src/lib/csu/arch/vax/crtend.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/csu/arch/vax/Makefile.inc
diff -u src/lib/csu/arch/vax/Makefile.inc:1.1 src/lib/csu/arch/vax/Makefile.inc:1.2
--- src/lib/csu/arch/vax/Makefile.inc:1.1	Sat Aug  7 18:01:34 2010
+++ src/lib/csu/arch/vax/Makefile.inc	Fri Jun 21 15:54:08 2013
@@ -1,5 +1,3 @@
-# $NetBSD: Makefile.inc,v 1.1 2010/08/07 18:01:34 joerg Exp $
+# $NetBSD: Makefile.inc,v 1.2 2013/06/21 15:54:08 matt Exp $
 
 CPPFLAGS+=	-DELFSIZE=32
-
-

Index: src/lib/csu/arch/vax/crt0.S
diff -u src/lib/csu/arch/vax/crt0.S:1.2 src/lib/csu/arch/vax/crt0.S:1.3
--- src/lib/csu/arch/vax/crt0.S:1.2	Sat Jul  2 20:14:10 2011
+++ src/lib/csu/arch/vax/crt0.S	Fri Jun 21 15:54:08 2013
@@ -1,10 +1,12 @@
-/* $NetBSD: crt0.S,v 1.2 2011/07/02 20:14:10 matt Exp $ */
+/* $NetBSD: crt0.S,v 1.3 2013/06/21 15:54:08 matt Exp $ */
 
-/*
- * Copyright (c) 1999 Matt Thomas
- * Copyright (c) 1995 Christopher G. Demetriou
+/*-
+ * Copyright (c) 2013 The NetBSD Foundation, Inc.
  * All rights reserved.
- * 
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -13,37 +15,28 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *          This product includes software developed for the
- *          NetBSD Project.  See http://www.NetBSD.org/ for
- *          information about NetBSD.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- * <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <machine/asm.h>
+#include <vax/asm.h>
 
-RCSID("$NetBSD: crt0.S,v 1.2 2011/07/02 20:14:10 matt Exp $")
+RCSID("$NetBSD: crt0.S,v 1.3 2013/06/21 15:54:08 matt Exp $")
 
 STRONG_ALIAS(_start,__start)
 
-_ENTRY(__start)
-	.word	0x0101
-	pushl	%r9		/* ps_strings */
-	pushl	%r8		/* obj */
+_ENTRY(__start, 0x0101)
+	movq	%r8,-(%sp)	/* ps_strings / obj */
 	pushl	%r7		/* cleanup */
 	calls	$3,___start
+END(__start)

Added files:

Index: src/lib/csu/arch/vax/crtbegin.S
diff -u /dev/null src/lib/csu/arch/vax/crtbegin.S:1.1
--- /dev/null	Fri Jun 21 15:54:08 2013
+++ src/lib/csu/arch/vax/crtbegin.S	Fri Jun 21 15:54:08 2013
@@ -0,0 +1,178 @@
+/*	$NetBSD: crtbegin.S,v 1.1 2013/06/21 15:54:08 matt Exp $	*/
+/*-
+ * Copyright (c) 2013 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <vax/asm.h>
+
+RCSID("$NetBSD: crtbegin.S,v 1.1 2013/06/21 15:54:08 matt Exp $")
+
+	.section	.ctors, "aw", @progbits
+	.p2align 2
+__CTOR_LIST__:		/* symbol is not used */
+	.word -1
+
+	.section	.dtors, "aw", @progbits
+	.p2align 2
+__DTOR_LIST__:
+
+	.section	.eh_frame, "a", @progbits
+	.p2align 2
+__EH_FRAME_LIST__:
+
+	.section	.jcr, "aw", @progbits
+	.p2align 2
+__JCR_LIST__:
+
+	.section	.data.rel, "aw", @progbits
+	.p2align 2
+	.type	__dso_handle, @object
+	.size	__dso_handle, 4
+	.globl	__dso_handle
+	.hidden	__dso_handle
+__dso_handle:
+#ifdef SHARED
+	.word	__dso_handle
+#else
+	.word	0
+#endif
+
+	.local	__dwarf_eh_object
+	.comm	__dwarf_eh_object,24
+	.local	__initialized
+	.comm	__initialized,1
+	.local	__finished
+	.comm	__finished,1
+
+	.text
+/*
+ * All variables are local to this DSO so we can skip using GOT references
+ * and instead use PCREL references to access them.  We do this regardless
+ * of being PIC since it isn't any additional overhead to do so.
+ *
+ * We don't setup a TOC since all of ours calls are indirect so it isn't
+ * needed.
+ */
+
+	.type __do_global_dtors_aux, @function
+__do_global_dtors_aux:
+	.word	0x0100				/* save r8 */
+	tstb	__finished			/* done this already? */
+	bneq	4f
+	movb	$1, __finished			/* mark it as done */
+
+#ifdef SHARED
+	/*
+	 * if (__cxa_finalize)
+	 *	__cxa_finalize(&__dso_handle);
+	 */
+	movab	__cxa_finalize, %r0
+	bneq	1f
+	pushal	__dso_handle	
+	calls	$0, (%r0)
+1:
+#endif /* SHARED */
+
+	/*
+	 * We use load with postincrement to advance the pointer along.
+	 * We know the list ends with 0.  If we load one, we must be done.
+	 */
+	moval	__DTOR_LIST__, %r8	/* skip first entry */
+2:	movl	(%r8)+, %r0		/* r0 = *r8++; */
+	beql	3f
+	calls	$0, (%r0)
+	brb	2b
+3:
+
+#ifdef SHARED
+	/*
+	 * if (__deregister_frame_info)
+	 *     __deregister_frame_info(&__EH_FRAME_LIST__[0]);
+	 */
+	moval	__deregister_frame_info, %r0
+	bneq	4f
+	pushal	__EH_FRAME_LIST__
+	calls	$0, (%r0)
+#endif /* SHARED */
+
+4:	ret
+
+	.weak	__deregister_frame_info
+	.weak	__cxa_finalize
+
+	.weak	__register_frame_info
+	.weak	_Jv_RegisterClasses
+
+	.type __do_global_ctors_aux, @function
+__do_global_ctors_aux:
+	tstb	__initialized
+	bneq	4f
+	movb	$1, __initialized
+
+	/*
+	 * if (__register_frame_info)
+	 *     __register_frame_info(&__EH_FRAME_LIST__[0], &__dwarf_eh_object)
+	 */
+	movab	__register_frame_info, %r0
+	beql	1f
+
+	pushal	__dwarf_eh_object
+	pushal	__EH_FRAME_LIST__
+	calls	$0, (%r0)
+1:
+
+	/*
+	 * if (_Jv_RegisterClasses && __JCR_LIST__[0])
+	 *     _Jv_RegisterClasses(&__JCR_LIST__[0]);
+	 */
+	movab	_Jv_RegisterClasses, %r0
+	beql	2f
+
+	pushal	__JCR_LIST__
+	calls	$0, (%r0)
+2:
+
+	/*
+	 * Get the end of the CTOR list.  The first entry is -1 so if we
+	 * load a negative address, we know we are done.
+	 */
+
+	moval	__CTOR_LIST_END__, %r8	/* get end of list */
+3:	movl	-(%r8), %r0		/* get function pointer with predec */
+	blss	4f			/*  negative?  done. */
+	calls	$0, (%r0)		/* call it */
+	brb	3b			/* get next one */
+
+4:	ret
+
+	.hidden	_C_LABEL(__CTOR_LIST_END__)
+
+	.section	.init, "ax", @progbits
+	calls	$0, __do_global_ctors_aux
+	.section	.fini, "ax", @progbits
+	calls	$0, __do_global_dtors_aux
Index: src/lib/csu/arch/vax/crtend.S
diff -u /dev/null src/lib/csu/arch/vax/crtend.S:1.1
--- /dev/null	Fri Jun 21 15:54:08 2013
+++ src/lib/csu/arch/vax/crtend.S	Fri Jun 21 15:54:08 2013
@@ -0,0 +1,55 @@
+/*	$NetBSD: crtend.S,v 1.1 2013/06/21 15:54:08 matt Exp $	*/
+/*-
+ * Copyright (c) 2012 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <vax/asm.h>
+
+RCSID("$NetBSD: crtend.S,v 1.1 2013/06/21 15:54:08 matt Exp $")
+
+	.section	.ctors, "aw", @progbits
+	.p2align 2
+	.global		__CTOR_LIST_END__
+	.hidden 	__CTOR_LIST_END__
+__CTOR_LIST_END__:
+	.word		0
+
+	.section	.dtors, "aw", @progbits
+	.p2align 2
+	.global		__DTOR_LIST_END__
+	.hidden 	__DTOR_LIST_END__
+__DTOR_LIST_END__:
+	.word		0
+
+	.section	.eh_frame, "a", @progbits
+	.p2align 2
+	.space	4
+
+	.section	.jcr, "aw", @progbits
+	.p2align 2
+	.space	4

Reply via email to