From owner-svn-src-all@FreeBSD.ORG Sat Jul 10 03:45:55 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8C3F1065674; Sat, 10 Jul 2010 03:45:55 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A7A048FC0C; Sat, 10 Jul 2010 03:45:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o6A3jtiR037857; Sat, 10 Jul 2010 03:45:55 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o6A3jtwZ037852; Sat, 10 Jul 2010 03:45:55 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201007100345.o6A3jtwZ037852@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 10 Jul 2010 03:45:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209869 - head/lib/csu/powerpc64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jul 2010 03:45:55 -0000 Author: nwhitehorn Date: Sat Jul 10 03:45:55 2010 New Revision: 209869 URL: http://svn.freebsd.org/changeset/base/209869 Log: C startup support for 64-bit PowerPC. Obtained from: projects/ppc64 Added: head/lib/csu/powerpc64/ - copied from r209845, head/lib/csu/powerpc/ Modified: head/lib/csu/powerpc64/Makefile head/lib/csu/powerpc64/crt1.c head/lib/csu/powerpc64/crti.S head/lib/csu/powerpc64/crtn.S Modified: head/lib/csu/powerpc64/Makefile ============================================================================== --- head/lib/csu/powerpc/Makefile Fri Jul 9 11:27:33 2010 (r209845) +++ head/lib/csu/powerpc64/Makefile Sat Jul 10 03:45:55 2010 (r209869) @@ -4,8 +4,9 @@ SRCS= crt1.c crti.S crtn.S OBJS= ${SRCS:N*.h:R:S/$/.o/g} -OBJS+= Scrt1.o gcrt1.o -CFLAGS+= -I${.CURDIR}/../common \ +OBJS+= gcrt1.o +CFLAGS+= -Wall -Wno-unused \ + -I${.CURDIR}/../common \ -I${.CURDIR}/../../libc/include all: ${OBJS} @@ -15,9 +16,6 @@ CLEANFILES= ${OBJS} gcrt1.o: crt1.c ${CC} ${CFLAGS} -DGCRT -c -o gcrt1.o ${.ALLSRC} -Scrt1.o: crt1.c - ${CC} ${CFLAGS} -fPIC -DPIC -c -o Scrt1.o ${.ALLSRC} - realinstall: ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${OBJS} ${DESTDIR}${LIBDIR} Modified: head/lib/csu/powerpc64/crt1.c ============================================================================== --- head/lib/csu/powerpc/crt1.c Fri Jul 9 11:27:33 2010 (r209845) +++ head/lib/csu/powerpc64/crt1.c Sat Jul 10 03:45:55 2010 (r209869) @@ -59,6 +59,8 @@ extern int _DYNAMIC; extern void _fini(void); extern void _init(void); extern int main(int, char **, char **); +extern void _start(int, char **, char **, const struct Struct_Obj_Entry *, + void (*)(void), struct ps_strings *); #ifdef GCRT extern void _mcleanup(void); @@ -71,9 +73,6 @@ char **environ; const char *__progname = ""; struct ps_strings *__ps_strings; -void _start(int, char **, char **, const struct Struct_Obj_Entry *, - void (*)(void), struct ps_strings *); - /* The entry function. */ /* * First 5 arguments are specified by the PowerPC SVR4 ABI. Modified: head/lib/csu/powerpc64/crti.S ============================================================================== --- head/lib/csu/powerpc/crti.S Fri Jul 9 11:27:33 2010 (r209845) +++ head/lib/csu/powerpc64/crti.S Sat Jul 10 03:45:55 2010 (r209869) @@ -26,25 +26,36 @@ .section .init,"ax",@progbits .align 2 .globl _init - .type _init,@function + .section ".opd","aw" + .align 3 _init: - stwu 1,-16(1) - mflr 0 - stw 31,12(1) - stw 0,20(1) - mr 31,1 + .quad ._init,.TOC.@tocbase,0 + .previous + .align 4 + .global ._init + .type ._init,@function +._init: + stdu 1,-48(1) + mflr 0 + std 0,64(1) .section .fini,"ax",@progbits .align 2 .globl _fini + .section ".opd","aw" + .align 3 _fini: - stwu 1,-16(1) - mflr 0 - stw 31,12(1) - stw 0,20(1) - mr 31,1 + .quad ._fini,.TOC.@tocbase,0 + .previous + .align 4 + .global ._fini + .type ._fini,@function +._fini: + stdu 1,-48(1) + mflr 0 + std 0,64(1) .section .rodata .ascii "$FreeBSD$\0" Modified: head/lib/csu/powerpc64/crtn.S ============================================================================== --- head/lib/csu/powerpc/crtn.S Fri Jul 9 11:27:33 2010 (r209845) +++ head/lib/csu/powerpc64/crtn.S Sat Jul 10 03:45:55 2010 (r209869) @@ -24,20 +24,16 @@ */ .section .init,"ax",@progbits - lwz 11,0(1) - lwz 0,4(11) + ld %r1,0(%r1) + ld 0,16(%r1) mtlr 0 - lwz 31,-4(11) - mr 1,11 blr .section .fini,"ax",@progbits - lwz 11,0(1) - lwz 0,4(11) + ld %r1,0(%r1) + ld 0,16(%r1) mtlr 0 - lwz 31,-4(11) - mr 1,11 blr