diff options
Diffstat (limited to 'lib/csu')
-rw-r--r-- | lib/csu/Makefile | 4 | ||||
-rw-r--r-- | lib/csu/x86_64/Makefile | 61 | ||||
-rw-r--r-- | lib/csu/x86_64/crt0.c | 128 | ||||
-rw-r--r-- | lib/csu/x86_64/md_init.h | 61 |
4 files changed, 2 insertions, 252 deletions
diff --git a/lib/csu/Makefile b/lib/csu/Makefile index 7110281f872..608d26cce63 100644 --- a/lib/csu/Makefile +++ b/lib/csu/Makefile @@ -1,7 +1,7 @@ -# $OpenBSD: Makefile,v 1.11 2004/02/01 07:21:56 drahn Exp $ +# $OpenBSD: Makefile,v 1.12 2004/02/27 17:36:14 deraadt Exp $ .if make(obj) -SUBDIR= alpha arm hppa i386 m68k m88k powerpc sparc sparc64 vax x86_64 +SUBDIR= alpha arm hppa i386 m68k m88k powerpc sparc sparc64 vax amd64 .else SUBDIR= ${MACHINE_ARCH} .endif diff --git a/lib/csu/x86_64/Makefile b/lib/csu/x86_64/Makefile deleted file mode 100644 index ddbe9a140f7..00000000000 --- a/lib/csu/x86_64/Makefile +++ /dev/null @@ -1,61 +0,0 @@ -# $OpenBSD: Makefile,v 1.1 2004/01/28 01:46:17 mickey Exp $ - -CFLAGS+= -DLIBC_SCCS -fno-omit-frame-pointer -OBJS= crt0.o gcrt0.o crtbegin.o crtend.o crtbeginS.o crtendS.o -SRCS= crt0.c crtbegin.c crtbeginS.c crtend.c crtendS.c - -ELFDIR= ${.CURDIR}/../common_elf -.PATH: ${ELFDIR} -CFLAGS+= -I${ELFDIR} -I${.CURDIR} - -PICFLAG?=-fpic - -all: ${OBJS} - -crt0.o: crt0.c - @echo ${COMPILE.c} -DCRT0 ${.CURDIR}/crt0.c -o ${.TARGET} - @${COMPILE.c} -DCRT0 ${.CURDIR}/crt0.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -gcrt0.o: crt0.c - @echo ${COMPILE.c} -DMCRT0 ${.CURDIR}/crt0.c -o ${.TARGET} - @${COMPILE.c} -DMCRT0 ${.CURDIR}/crt0.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtbegin.o: crtbegin.c - @echo ${COMPILE.c} ${ELFDIR}/crtbegin.c -o ${.TARGET} - @${COMPILE.c} ${ELFDIR}/crtbegin.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtbeginS.o: crtbeginS.c - @echo ${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtbeginS.c -o ${.TARGET} - @${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtbeginS.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtend.o: crtend.c - @echo ${COMPILE.c} ${ELFDIR}/crtend.c -o ${.TARGET} - @${COMPILE.c} ${ELFDIR}/crtend.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtendS.o: crtendS.c - @echo ${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtendS.c -o ${.TARGET} - @${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtendS.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -realinstall: - ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${OBJS} \ - ${DESTDIR}/usr/lib - -afterdepend: .depend - @(TMP=/tmp/_depend$$$$; \ - sed -e 's/^\([^\.]*\).o[ ]*:/\1.o g\1.o:/' \ - < .depend > $$TMP; \ - mv $$TMP .depend) - -.include <bsd.prog.mk> diff --git a/lib/csu/x86_64/crt0.c b/lib/csu/x86_64/crt0.c deleted file mode 100644 index b948fe048de..00000000000 --- a/lib/csu/x86_64/crt0.c +++ /dev/null @@ -1,128 +0,0 @@ -/* $OpenBSD: crt0.c,v 1.1 2004/01/28 01:46:17 mickey Exp $ */ -/* - * Copyright (c) 1995 Christopher G. Demetriou - * 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. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou - * for the NetBSD Project. - * 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. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: crt0.c,v 1.1 2004/01/28 01:46:17 mickey Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/param.h> -#include <stdlib.h> - -static char *_strrchr(char *, char); - -char **environ; -char *__progname = ""; - -char __progname_storage[NAME_MAX+1]; - -#ifdef MCRT0 -extern void monstartup(u_long, u_long); -extern void _mcleanup(void); -extern unsigned char _etext, _eprol; -#endif /* MCRT0 */ - -__asm(" .text ;\ - .align 8 ;\ - .globl __start ;\ - .globl _start ;\ -_start: ;\ -__start: ;\ - movq %rbx,%r9 ;\ - movq %rcx,%r8 ;\ - movq %rdx,%rcx ;\ - movq (%rsp),%rdi ;\ - leaq 16(%rsp,%rdi,8),%rdx ;\ - leaq 8(%rsp),%rsi ;\ - subq $8,%rsp ;\ - andq $~15,%rsp ;\ - addq $8,%rsp ;\ - jmp ___start ;\ -"); - -void -___start(argc, argv, envp, cleanup, obj, ps_strings) - int argc; - char **argv; - char ** envp; - void (*cleanup)(void); /* from shared loader */ - const void *obj; /* from shared loader */ - struct ps_strings *ps_strings; -{ - char *namep; - register struct kframe *kfp; - char *s; - - environ = envp; - - if ((namep = argv[0]) != NULL) { /* NULL ptr if argc = 0 */ - if ((__progname = _strrchr(namep, '/')) == NULL) - __progname = namep; - else - ++__progname; - for (s = __progname_storage; *__progname && - s < &__progname_storage[sizeof __progname_storage - 1]; ) - *s++ = *__progname++; - *s = '\0'; - __progname = __progname_storage; - } - -#ifdef MCRT0 - atexit(_mcleanup); - monstartup((u_long)&_eprol, (u_long)&_etext); -#endif - - __init(); - - exit(main(argc, argv, environ)); -} - - -static char * -_strrchr(p, ch) -register char *p, ch; -{ - register char *save; - - for (save = NULL;; ++p) { - if (*p == ch) - save = (char *)p; - if (!*p) - return(save); - } -/* NOTREACHED */ -} - -#ifdef MCRT0 -asm (" .text"); -asm ("_eprol:"); -#endif - diff --git a/lib/csu/x86_64/md_init.h b/lib/csu/x86_64/md_init.h deleted file mode 100644 index 243091f7255..00000000000 --- a/lib/csu/x86_64/md_init.h +++ /dev/null @@ -1,61 +0,0 @@ -/* $OpenBSD: md_init.h,v 1.1 2004/01/28 01:46:17 mickey Exp $ */ - -/*- - * Copyright (c) 2001 Ross Harvey - * 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. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 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. - */ - -#define MD_SECT_CALL_FUNC(section, func) \ - __asm (".section "#section", \"ax\"\n" \ - " call " #func "\n" \ - " .previous") - -/* - * Align is after because we want the function to start at the first - * address of the section, but overall we want the section to be - * aligned by the align amount. - */ -#define MD_SECTION_PROLOGUE(sect, entry_pt) \ - __asm ( \ - ".section "#sect",\"ax\",@progbits \n" \ - " .globl " #entry_pt " \n" \ - " .type " #entry_pt ",@function \n" \ - #entry_pt": \n" \ - " .align 16 \n" \ - " /* fall thru */ \n" \ - " .previous") - - -#define MD_SECTION_EPILOGUE(sect) \ - __asm ( \ - ".section "#sect",\"ax\",@progbits \n" \ - " ret \n" \ - " .previous") |