Page MenuHomeFreeBSD

D2591.id.diff
No OneTemporary

D2591.id.diff

Index: head/lib/csu/Makefile
===================================================================
--- head/lib/csu/Makefile
+++ head/lib/csu/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
-ARCH= ${MACHINE_ARCH:S/i386/i386-elf/}
-.if exists(${.CURDIR}/${ARCH})
-SUBDIR+= ${ARCH}
+.if exists(${.CURDIR}/${MACHINE_ARCH})
+SUBDIR+= ${MACHINE_ARCH}
.else
SUBDIR+= ${MACHINE_CPUARCH}
.endif
Index: head/lib/csu/i386-elf/Makefile
===================================================================
--- head/lib/csu/i386-elf/Makefile
+++ head/lib/csu/i386-elf/Makefile
@@ -1,55 +0,0 @@
-# $FreeBSD$
-
-.PATH: ${.CURDIR}/../common
-
-SRCS= crti.S crtn.S
-OBJS= ${SRCS:N*.h:R:S/$/.o/g}
-OBJS+= gcrt1.o crt1.o Scrt1.o
-CFLAGS+= -I${.CURDIR}/../common \
- -I${.CURDIR}/../../libc/include
-
-all: ${OBJS}
-
-CLEANFILES= ${OBJS} crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
-CLEANFILES+= crt1_c.s gcrt1_c.s Scrt1_c.s
-
-# See the comment in lib/csu/common/crtbrand.c for the reason crt1_c.c is not
-# directly compiled to .o files.
-
-gcrt1_c.s: crt1_c.c
- ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1_c.c
- sed ${SED_FIX_NOTE} ${.TARGET}
-
-gcrt1_c.o: gcrt1_c.s
- ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1_c.s
-
-gcrt1.o: gcrt1_c.o crt1_s.o
- ${LD} ${_LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o
-
-crt1_c.s: crt1_c.c
- ${CC} ${CFLAGS} -S -o ${.TARGET} ${.CURDIR}/crt1_c.c
- sed ${SED_FIX_NOTE} ${.TARGET}
-
-crt1_c.o: crt1_c.s
- ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1_c.s
-
-crt1.o: crt1_c.o crt1_s.o
- ${LD} ${_LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o
- ${OBJCOPY} --localize-symbol _start1 crt1.o
-
-Scrt1_c.s: crt1_c.c
- ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1_c.c
- sed ${SED_FIX_NOTE} ${.TARGET}
-
-Scrt1_c.o: Scrt1_c.s
- ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1_c.s
-
-Scrt1.o: Scrt1_c.o crt1_s.o
- ${LD} ${_LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o
- ${OBJCOPY} --localize-symbol _start1 Scrt1.o
-
-realinstall:
- ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${OBJS} ${DESTDIR}${LIBDIR}
-
-.include <bsd.lib.mk>
Index: head/lib/csu/i386-elf/crt1_c.c
===================================================================
--- head/lib/csu/i386-elf/crt1_c.c
+++ head/lib/csu/i386-elf/crt1_c.c
@@ -1,80 +0,0 @@
-/* LINTLIBRARY */
-/*-
- * Copyright 1996-1998 John D. Polstra.
- * 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 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.
- *
- * $FreeBSD$
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#ifndef lint
-#ifndef __GNUC__
-#error "GCC is needed to compile this file"
-#endif
-#endif /* lint */
-
-#include <stdlib.h>
-
-#include "libc_private.h"
-#include "crtbrand.c"
-#include "ignore_init.c"
-
-typedef void (*fptr)(void);
-
-extern void _start(char *, ...);
-
-#ifdef GCRT
-extern void _mcleanup(void);
-extern void monstartup(void *, void *);
-extern int eprol;
-extern int etext;
-#endif
-
-void _start1(fptr, int, char *[]) __dead2;
-
-/* The entry function, C part. */
-void
-_start1(fptr cleanup, int argc, char *argv[])
-{
- char **env;
-
- env = argv + argc + 1;
- handle_argv(argc, argv, env);
- if (&_DYNAMIC != NULL)
- atexit(cleanup);
- else
- _init_tls();
-
-#ifdef GCRT
- atexit(_mcleanup);
- monstartup(&eprol, &etext);
-__asm__("eprol:");
-#endif
-
- handle_static_init(argc, argv, env);
- exit(main(argc, argv, env));
-}
-
-__asm(".hidden _start1");
Index: head/lib/csu/i386-elf/crt1_s.S
===================================================================
--- head/lib/csu/i386-elf/crt1_s.S
+++ head/lib/csu/i386-elf/crt1_s.S
@@ -1,54 +0,0 @@
-/*-
- * Copyright 2009 Konstantin Belousov.
- * 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 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.
- *
- * $FreeBSD$
- */
-
-#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
- .text
- .align 4
- .globl _start
- .type _start, @function
-_start:
- .cfi_startproc
- xorl %ebp,%ebp
- pushl %ebp
- .cfi_def_cfa_offset 4
- movl %esp,%ebp
- .cfi_offset %ebp,-8
- .cfi_def_cfa_register %ebp
- andl $0xfffffff0,%esp # align stack
- leal 8(%ebp),%eax
- subl $4,%esp
- pushl %eax # argv
- pushl 4(%ebp) # argc
- pushl %edx # rtld cleanup
- call _start1
- int3
- .cfi_endproc
- .size _start, . - _start
-
- .section .note.GNU-stack,"",%progbits
Index: head/lib/csu/i386-elf/crti.S
===================================================================
--- head/lib/csu/i386-elf/crti.S
+++ head/lib/csu/i386-elf/crti.S
@@ -1,43 +0,0 @@
-/*-
- * Copyright 1996, 1997, 1998, 2000 John D. Polstra.
- * 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 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.
- */
-
-#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
- .section .init,"ax",@progbits
- .align 4
- .globl _init
- .type _init,@function
-_init:
- sub $12,%esp /* re-align stack pointer */
-
- .section .fini,"ax",@progbits
- .align 4
- .globl _fini
- .type _fini,@function
-_fini:
- sub $12,%esp /* re-align stack pointer */
-
- .section .note.GNU-stack,"",%progbits
Index: head/lib/csu/i386-elf/crtn.S
===================================================================
--- head/lib/csu/i386-elf/crtn.S
+++ head/lib/csu/i386-elf/crtn.S
@@ -1,37 +0,0 @@
-/*-
- * Copyright 1996, 1997, 1998, 2000 John D. Polstra.
- * 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 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.
- */
-
-#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
- .section .init,"ax",@progbits
- add $12,%esp
- ret
-
- .section .fini,"ax",@progbits
- add $12,%esp
- ret
-
- .section .note.GNU-stack,"",%progbits
Index: head/lib/csu/i386/Makefile
===================================================================
--- head/lib/csu/i386/Makefile
+++ head/lib/csu/i386/Makefile
@@ -0,0 +1,55 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/../common
+
+SRCS= crti.S crtn.S
+OBJS= ${SRCS:N*.h:R:S/$/.o/g}
+OBJS+= gcrt1.o crt1.o Scrt1.o
+CFLAGS+= -I${.CURDIR}/../common \
+ -I${.CURDIR}/../../libc/include
+
+all: ${OBJS}
+
+CLEANFILES= ${OBJS} crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
+CLEANFILES+= crt1_c.s gcrt1_c.s Scrt1_c.s
+
+# See the comment in lib/csu/common/crtbrand.c for the reason crt1_c.c is not
+# directly compiled to .o files.
+
+gcrt1_c.s: crt1_c.c
+ ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1_c.c
+ sed ${SED_FIX_NOTE} ${.TARGET}
+
+gcrt1_c.o: gcrt1_c.s
+ ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1_c.s
+
+gcrt1.o: gcrt1_c.o crt1_s.o
+ ${LD} ${_LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o
+
+crt1_c.s: crt1_c.c
+ ${CC} ${CFLAGS} -S -o ${.TARGET} ${.CURDIR}/crt1_c.c
+ sed ${SED_FIX_NOTE} ${.TARGET}
+
+crt1_c.o: crt1_c.s
+ ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1_c.s
+
+crt1.o: crt1_c.o crt1_s.o
+ ${LD} ${_LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o
+ ${OBJCOPY} --localize-symbol _start1 crt1.o
+
+Scrt1_c.s: crt1_c.c
+ ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1_c.c
+ sed ${SED_FIX_NOTE} ${.TARGET}
+
+Scrt1_c.o: Scrt1_c.s
+ ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1_c.s
+
+Scrt1.o: Scrt1_c.o crt1_s.o
+ ${LD} ${_LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o
+ ${OBJCOPY} --localize-symbol _start1 Scrt1.o
+
+realinstall:
+ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${OBJS} ${DESTDIR}${LIBDIR}
+
+.include <bsd.lib.mk>
Index: head/lib/csu/i386/crt1_c.c
===================================================================
--- head/lib/csu/i386/crt1_c.c
+++ head/lib/csu/i386/crt1_c.c
@@ -0,0 +1,80 @@
+/* LINTLIBRARY */
+/*-
+ * Copyright 1996-1998 John D. Polstra.
+ * 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 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#ifndef lint
+#ifndef __GNUC__
+#error "GCC is needed to compile this file"
+#endif
+#endif /* lint */
+
+#include <stdlib.h>
+
+#include "libc_private.h"
+#include "crtbrand.c"
+#include "ignore_init.c"
+
+typedef void (*fptr)(void);
+
+extern void _start(char *, ...);
+
+#ifdef GCRT
+extern void _mcleanup(void);
+extern void monstartup(void *, void *);
+extern int eprol;
+extern int etext;
+#endif
+
+void _start1(fptr, int, char *[]) __dead2;
+
+/* The entry function, C part. */
+void
+_start1(fptr cleanup, int argc, char *argv[])
+{
+ char **env;
+
+ env = argv + argc + 1;
+ handle_argv(argc, argv, env);
+ if (&_DYNAMIC != NULL)
+ atexit(cleanup);
+ else
+ _init_tls();
+
+#ifdef GCRT
+ atexit(_mcleanup);
+ monstartup(&eprol, &etext);
+__asm__("eprol:");
+#endif
+
+ handle_static_init(argc, argv, env);
+ exit(main(argc, argv, env));
+}
+
+__asm(".hidden _start1");
Index: head/lib/csu/i386/crt1_s.S
===================================================================
--- head/lib/csu/i386/crt1_s.S
+++ head/lib/csu/i386/crt1_s.S
@@ -0,0 +1,54 @@
+/*-
+ * Copyright 2009 Konstantin Belousov.
+ * 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 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.
+ *
+ * $FreeBSD$
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+ .text
+ .align 4
+ .globl _start
+ .type _start, @function
+_start:
+ .cfi_startproc
+ xorl %ebp,%ebp
+ pushl %ebp
+ .cfi_def_cfa_offset 4
+ movl %esp,%ebp
+ .cfi_offset %ebp,-8
+ .cfi_def_cfa_register %ebp
+ andl $0xfffffff0,%esp # align stack
+ leal 8(%ebp),%eax
+ subl $4,%esp
+ pushl %eax # argv
+ pushl 4(%ebp) # argc
+ pushl %edx # rtld cleanup
+ call _start1
+ int3
+ .cfi_endproc
+ .size _start, . - _start
+
+ .section .note.GNU-stack,"",%progbits
Index: head/lib/csu/i386/crti.S
===================================================================
--- head/lib/csu/i386/crti.S
+++ head/lib/csu/i386/crti.S
@@ -0,0 +1,43 @@
+/*-
+ * Copyright 1996, 1997, 1998, 2000 John D. Polstra.
+ * 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 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.
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+ .section .init,"ax",@progbits
+ .align 4
+ .globl _init
+ .type _init,@function
+_init:
+ sub $12,%esp /* re-align stack pointer */
+
+ .section .fini,"ax",@progbits
+ .align 4
+ .globl _fini
+ .type _fini,@function
+_fini:
+ sub $12,%esp /* re-align stack pointer */
+
+ .section .note.GNU-stack,"",%progbits
Index: head/lib/csu/i386/crtn.S
===================================================================
--- head/lib/csu/i386/crtn.S
+++ head/lib/csu/i386/crtn.S
@@ -0,0 +1,37 @@
+/*-
+ * Copyright 1996, 1997, 1998, 2000 John D. Polstra.
+ * 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 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.
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+ .section .init,"ax",@progbits
+ add $12,%esp
+ ret
+
+ .section .fini,"ax",@progbits
+ add $12,%esp
+ ret
+
+ .section .note.GNU-stack,"",%progbits

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 13, 2:38 AM (15 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31389749
Default Alt Text
D2591.id.diff (19 KB)

Event Timeline