Gold linker support for entire source tree
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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 = .;
|
||||
|
||||
@@ -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* ) }
|
||||
|
||||
Reference in New Issue
Block a user