.if ${COMPILER_TYPE} == "ack"
LDFLAGS+= -.o
.elif ${COMPILER_TYPE} == "gnu"
+CFLAGS+=-march=i386
CPPFLAGS+= -ffreestanding -fno-stack-protector
-.if ${OBJECT_FMT} == "ELF"
-LDFLAGS+= -T ${.CURDIR}/arch/${ARCH}/kernel_elf.lds
-.else
LDFLAGS+= -T ${.CURDIR}/arch/${ARCH}/kernel.lds
-.endif
LDFLAGS+= -nostdlib -L${LIBDIR}
-CFLAGS+=-march=i386
+.endif
+
.if (${NBSD_LIBC} != "no")
LDADD+= -lminlib
DPADD+= ${LIBMINLIB}
CPPFLAGS+= -D_NETBSD_SOURCE
.else
+
+.if ${CC} == "gcc"
DPADD+= ${LIBC}
LDADD+= -lgcc -lc -lgcc
+.elif ${CC} == "clang"
+DPADD+= ${LIBC}
+LDADD+= -L/usr/pkg/lib
+LDADD+= -lCompilerRT-Generic -lc -lCompilerRT-Generic
.endif
+
.endif
CPPFLAGS+= -I${.CURDIR} -I${.CURDIR}/arch/${ARCH}/include -I${MINIXSRCDIR}
ENTRY(MINIX)
SECTIONS
{
- . = 0x0;
- _text = .;
- begtext = .;
- .text.head . : AT (0x0) {
- *(.text.head)
- }
+ . = 0x200000 + SIZEOF_HEADERS;
.text . : AT (ADDR(.text) - 0x0000) {
*(.text)
*(.text.*)
_etext = .;
etext = .;
- _data = .;
- begdata = .;
.data . : AT (ADDR(.data) - 0x0000) {
_rodata = .;
/* kernel data starts with this magic number */
_erodata = .;
*(.data)
*(.data.*)
+ . = ALIGN(4096);
}
_edata = .;
- _bss = .;
- begbss = .;
+
.bss . : AT (ADDR(.bss) - 0x0000) {
*(.bss)
*(.bss.*)
*(COMMON)
}
- _ebss = .;
- endbss = .;
_end = .;
end = .;
+++ /dev/null
-OUTPUT_ARCH("i386")
-ENTRY(MINIX)
-SECTIONS
-{
- . = 0x200000 + SIZEOF_HEADERS;
- .text . : AT (ADDR(.text) - 0x0000) {
- *(.text)
- *(.text.*)
- . = ALIGN(4096);
- }
- _etext = .;
- etext = .;
-
- .data . : AT (ADDR(.data) - 0x0000) {
- _rodata = .;
- /* kernel data starts with this magic number */
- SHORT(0x526f);
- *(.rodata)
- *(.rodata.*)
- _erodata = .;
- *(.data)
- *(.data.*)
- . = ALIGN(4096);
- }
- _edata = .;
-
- .bss . : AT (ADDR(.bss) - 0x0000) {
- *(.bss)
- *(.bss.*)
- *(COMMON)
- }
- _end = .;
- end = .;
-
- /DISCARD/ :
- {
- *(.eh_frame)
- *(.comment)
- *(.comment.*)
- *(.note)
- *(.note.*)
- }
-}