Gold linker support for entire source tree

This commit is contained in:
Anton Kuijsten
2013-06-11 19:08:05 +00:00
committed by Lionel Sambuc
parent 3d257f8073
commit 1d71e39b73
36 changed files with 4653 additions and 12 deletions

View File

@@ -15,7 +15,13 @@ LDADD+= -ltimers -lsys -lexec -lminlib -L/usr/lib
LINKERSCRIPT= ${.CURDIR}/arch/${MACHINE_ARCH}/kernel.lds
.if ${HAVE_GOLD:U} != ""
GOLDLINKERSCRIPT=${LINKERSCRIPT}
LDFLAGS+= -Wl,--allow-multiple-definition
CFLAGS += -fno-common
.else
LDFLAGS+= -T ${LINKERSCRIPT}
.endif
LDFLAGS+= -nostdlib
CFLAGS += -fno-stack-protector

View File

@@ -25,9 +25,9 @@ SECTIONS
. += _kern_offset;
. = ALIGN(4096); usermapped_start = .;
.usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { usermapped_glo*.o }
.usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { usermapped_glo*.o(*) }
. = ALIGN(4096); usermapped_nonglo_start = .;
.usermapped : AT(ADDR(.usermapped) - _kern_offset) { usermapped_*.o }
.usermapped : AT(ADDR(.usermapped) - _kern_offset) { usermapped_*.o(*) }
. = ALIGN(4096); usermapped_end = .;
.text : AT(ADDR(.text) - _kern_offset) { *(.text*) }
_etext = .;

View File

@@ -22,9 +22,9 @@ SECTIONS
. += _kern_offset;
. = ALIGN(4096); usermapped_start = .;
.usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { usermapped_glo*.o }
.usermapped_glo : AT(ADDR(.usermapped_glo) - _kern_offset) { usermapped_glo*.o(*) }
. = ALIGN(4096); usermapped_nonglo_start = .;
.usermapped : AT(ADDR(.usermapped) - _kern_offset) { usermapped_*.o }
.usermapped : AT(ADDR(.usermapped) - _kern_offset) { usermapped_*.o(*) }
. = ALIGN(4096); usermapped_end = .;
.text : AT(ADDR(.text) - _kern_offset) { *(.text*) }
.data ALIGN(4096) : AT(ADDR(.data) - _kern_offset) { *(.data .rodata* ) }