diff --git a/Rsconscript b/Rsconscript index 1323956..189341c 100644 --- a/Rsconscript +++ b/Rsconscript @@ -136,7 +136,7 @@ hulk_env = env "hulk", use: %w[ldc2 x86_64-elf-gcc] do |env| env["D_IMPORT_PATH"] += %w[src] env["D_IMPORT_PATH"] << env.expand("^/src") env["LD"] = "x86_64-elf-gcc" - env["LDFLAGS"] += %w[-nostdlib -Tsrc/hulk/hulk.ld -Wl,-Map,${_TARGET}.map] + env["LDFLAGS"] += %w[-nostdlib -Tsrc/hulk/hulk.ld -Wl,--gc-sections -Wl,-Map,${_TARGET}.map] env["LDCMD"] = %w[${LD} -o ${_TARGET} ${LDFLAGS} ${_SOURCES} ${LIBDIRPREFIX}${LIBPATH} ${LIBLINKPREFIX}${LIBS}] env["OBJDUMP"] = "x86_64-elf-objdump" env["OBJCOPY"] = "x86_64-elf-objcopy" diff --git a/src/hulk/hulk.ld b/src/hulk/hulk.ld index dcb32bf..a1742c5 100644 --- a/src/hulk/hulk.ld +++ b/src/hulk/hulk.ld @@ -6,7 +6,7 @@ SECTIONS .hulk_header : { - *(.hulk_header) + KEEP(*(.hulk_header)) } . = ALIGN(4K);