Module Name: src Committed By: joerg Date: Sat Aug 7 18:01:35 UTC 2010
Modified Files: src/lib/csu: Makefile Added Files: src/lib/csu: README src/lib/csu/arch/arm: Makefile.inc crt0.S crti.S crtn.S src/lib/csu/arch/i386: Makefile.inc crt0.S crtbegin.S crtend.S crti.S crtn.S src/lib/csu/arch/m68k: Makefile.inc crt0.S crti.S crtn.S src/lib/csu/arch/sh3: Makefile.inc crt0.S crti.S crtn.S src/lib/csu/arch/sparc: Makefile.inc crt0.S crti.S crtn.S src/lib/csu/arch/vax: Makefile.inc crt0.S crti.S crtn.S src/lib/csu/arch/x86_64: Makefile.inc crt0.S crtbegin.S crtend.S crti.S crtn.S src/lib/csu/common: Makefile.inc crt0-common.c sysident.S sysident_assym.cf Removed Files: src/lib/csu/i386_elf: Makefile crt0.c dot_init.h src/lib/csu/x86_64: Makefile crt0.c dot_init.h Log Message: Switch i386 and x86_64 to the new CRT layout. The crt0.c body is shared between all platforms and a small assembler stub in crt0.S is used for setting up the proper stack and whatever else MD needs. Extract crti.S and crtn. from the old dot_init.h files. Prepare other platforms that use the 6-argument form of __(_)start for this. Rewrite the crtbegin and crtend modules in assembler to make them compiler independent. Document the interface in README. To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/lib/csu/Makefile cvs rdiff -u -r0 -r1.1 src/lib/csu/README cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/arm/Makefile.inc \ src/lib/csu/arch/arm/crt0.S src/lib/csu/arch/arm/crti.S \ src/lib/csu/arch/arm/crtn.S cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/i386/Makefile.inc \ src/lib/csu/arch/i386/crt0.S src/lib/csu/arch/i386/crtbegin.S \ src/lib/csu/arch/i386/crtend.S src/lib/csu/arch/i386/crti.S \ src/lib/csu/arch/i386/crtn.S cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/m68k/Makefile.inc \ src/lib/csu/arch/m68k/crt0.S src/lib/csu/arch/m68k/crti.S \ src/lib/csu/arch/m68k/crtn.S cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/sh3/Makefile.inc \ src/lib/csu/arch/sh3/crt0.S src/lib/csu/arch/sh3/crti.S \ src/lib/csu/arch/sh3/crtn.S cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/sparc/Makefile.inc \ src/lib/csu/arch/sparc/crt0.S src/lib/csu/arch/sparc/crti.S \ src/lib/csu/arch/sparc/crtn.S cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/vax/Makefile.inc \ src/lib/csu/arch/vax/crt0.S src/lib/csu/arch/vax/crti.S \ src/lib/csu/arch/vax/crtn.S cvs rdiff -u -r0 -r1.1 src/lib/csu/arch/x86_64/Makefile.inc \ src/lib/csu/arch/x86_64/crt0.S src/lib/csu/arch/x86_64/crtbegin.S \ src/lib/csu/arch/x86_64/crtend.S src/lib/csu/arch/x86_64/crti.S \ src/lib/csu/arch/x86_64/crtn.S cvs rdiff -u -r0 -r1.1 src/lib/csu/common/Makefile.inc \ src/lib/csu/common/crt0-common.c src/lib/csu/common/sysident.S \ src/lib/csu/common/sysident_assym.cf cvs rdiff -u -r1.9 -r0 src/lib/csu/i386_elf/Makefile cvs rdiff -u -r1.17 -r0 src/lib/csu/i386_elf/crt0.c cvs rdiff -u -r1.8 -r0 src/lib/csu/i386_elf/dot_init.h cvs rdiff -u -r1.5 -r0 src/lib/csu/x86_64/Makefile src/lib/csu/x86_64/crt0.c cvs rdiff -u -r1.7 -r0 src/lib/csu/x86_64/dot_init.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.