Module Name: src Committed By: cherry Date: Fri Mar 14 18:15:02 UTC 2014
Added Files: src/lib/csu/arch/ia64: Makefile.inc crt0.S crtbegin.h crtend.S crti.S crtn.S Log Message: Add crtstuff for ia64. Compile tested only To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/ia64/Makefile.inc \ src/lib/csu/arch/ia64/crt0.S src/lib/csu/arch/ia64/crtbegin.h \ src/lib/csu/arch/ia64/crtend.S src/lib/csu/arch/ia64/crti.S \ src/lib/csu/arch/ia64/crtn.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Added files: Index: src/lib/csu/arch/ia64/Makefile.inc diff -u /dev/null src/lib/csu/arch/ia64/Makefile.inc:1.1 --- /dev/null Fri Mar 14 18:15:02 2014 +++ src/lib/csu/arch/ia64/Makefile.inc Fri Mar 14 18:15:02 2014 @@ -0,0 +1,3 @@ +# $NetBSD: Makefile.inc,v 1.1 2014/03/14 18:15:02 cherry Exp $ + +CPPFLAGS+= -DELFSIZE=64 -I${ARCHDIR} Index: src/lib/csu/arch/ia64/crt0.S diff -u /dev/null src/lib/csu/arch/ia64/crt0.S:1.1 --- /dev/null Fri Mar 14 18:15:02 2014 +++ src/lib/csu/arch/ia64/crt0.S Fri Mar 14 18:15:02 2014 @@ -0,0 +1,56 @@ +/* $NetBSD: crt0.S,v 1.1 2014/03/14 18:15:02 cherry Exp $ */ + +/*- + * Copyright (c) 2014 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Cherry G. Mathew of Backyard Innovations, UK, Ltd. + * + * 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 <machine/asm.h> + +RCSID("$NetBSD: crt0.S,v 1.1 2014/03/14 18:15:02 cherry Exp $") + +STRONG_ALIAS(_start,__start) + +.proc __start +.global __start + +/* + * Called with: + * in0 = cleanup + * in1 = obj + * in2 = ps_strings + * in3 = sp + * See: sys/arch/ia64/ia64/machdep.c:setregs() + */ + +__start: + .regstk 4, 0, 0, 0 + + mov sp = in3 /* Setup Memory Stack Pointer. */ + alloc r31 = ar.pfs, 3, 0, 0, 0 /* Adjust backingstore for ___start() */ + br.call.sptk.many rp = ___start + Index: src/lib/csu/arch/ia64/crtbegin.h diff -u /dev/null src/lib/csu/arch/ia64/crtbegin.h:1.1 --- /dev/null Fri Mar 14 18:15:02 2014 +++ src/lib/csu/arch/ia64/crtbegin.h Fri Mar 14 18:15:02 2014 @@ -0,0 +1,41 @@ +/*- + * Copyright (c) 2013, 2014 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 and + * Cherry G. Mathew of Backyard Innovations, UK, Ltd. + * + * 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. + */ + +__asm( "\n\t" + ".pushsection .init, \"ax\", @progbits" "\n\t" + "br.call.sptk.many b0 = __do_global_ctors_aux" "\n\t" + " nop 0" "\n\t" + ".popsection"); + +__asm( "\n\t" + ".pushsection .fini, \"ax\", @progbits" "\n\t" + "br.call.sptk.many b0 = __do_global_dtors_aux" "\n\t" + " nop 0" "\n\t" + ".popsection"); Index: src/lib/csu/arch/ia64/crtend.S diff -u /dev/null src/lib/csu/arch/ia64/crtend.S:1.1 --- /dev/null Fri Mar 14 18:15:02 2014 +++ src/lib/csu/arch/ia64/crtend.S Fri Mar 14 18:15:02 2014 @@ -0,0 +1,55 @@ +/* $NetBSD: crtend.S,v 1.1 2014/03/14 18:15:02 cherry Exp $ */ +/*- + * Copyright (c) 2010 Joerg Sonnenberger <jo...@netbsd.org> + * All rights reserved. + * + * 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 COPYRIGHT HOLDERS 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 + * COPYRIGHT HOLDERS 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> + +RCSID("$NetBSD: crtend.S,v 1.1 2014/03/14 18:15:02 cherry Exp $") + + .section .ctors, "aw", @progbits + .align 8 + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .quad 0 + + .section .dtors, "aw", @progbits + .align 8 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .quad 0 + + .section .eh_frame, "a", @progbits + .align 8 + .quad 0 + + .section .jcr, "aw", @progbits + .align 8 + .quad 0 Index: src/lib/csu/arch/ia64/crti.S diff -u /dev/null src/lib/csu/arch/ia64/crti.S:1.1 --- /dev/null Fri Mar 14 18:15:02 2014 +++ src/lib/csu/arch/ia64/crti.S Fri Mar 14 18:15:02 2014 @@ -0,0 +1,62 @@ +/* $NetBSD: crti.S,v 1.1 2014/03/14 18:15:02 cherry Exp $ */ + +/*- + * Copyright (c) 2014 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Cherry G. Mathew of Backyard Innovations, UK, Ltd. + * + * 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 <machine/asm.h> + +RCSID("$NetBSD: crti.S,v 1.1 2014/03/14 18:15:02 cherry Exp $") + +#include "sysident.S" + + .section ".init", "ax", @progbits + .align 64 + .proc _init + .global _init +_init: + .regstk 0, 2, 0, 0 + .prologue 12, loc0 + .save ar.pfs, loc1 + alloc loc1 = ar.pfs, 0, 2, 0, 0 + mov loc0 = b0 /* return addr */ + .endp _init + + .section ".fini", "ax", @progbits + .align 64 + .proc _fini + .global _fini +_fini: + .regstk 0, 2, 0, 0 + .prologue 12, loc0 + .save ar.pfs, loc1 + alloc loc1 = ar.pfs, 0, 2, 0, 0 + mov loc0 = b0 /* return addr */ + .endp _fini + + Index: src/lib/csu/arch/ia64/crtn.S diff -u /dev/null src/lib/csu/arch/ia64/crtn.S:1.1 --- /dev/null Fri Mar 14 18:15:02 2014 +++ src/lib/csu/arch/ia64/crtn.S Fri Mar 14 18:15:02 2014 @@ -0,0 +1,46 @@ +/* $NetBSD: crtn.S,v 1.1 2014/03/14 18:15:02 cherry Exp $ */ + +/*- + * Copyright (c) 2014 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Cherry G. Mathew of Backyard Innovations, UK, Ltd. + * + * 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 <machine/asm.h> + +RCSID("$NetBSD: crtn.S,v 1.1 2014/03/14 18:15:02 cherry Exp $") + + .section ".init", "ax", @progbits + .regstk 0, 2, 0, 0 + mov b0 = loc0 + mov ar.pfs = loc1 + br.ret.sptk.many b0 + + .section ".fini", "ax", @progbits + .regstk 0, 2, 0, 0 + mov b0 = loc0 + mov ar.pfs = loc1 + br.ret.sptk.many b0