Index: kernel/arch/amd64/_link.ld.in
===================================================================
--- kernel/arch/amd64/_link.ld.in	(revision da139823a6e0523217c1ab89cf8936eb8fd62ea2)
+++ kernel/arch/amd64/_link.ld.in	(revision c89ae2562f477e91a8041f1bdff7ef9c6bec68b8)
@@ -17,7 +17,7 @@
 	.unmapped (BOOT_OFFSET + SIZEOF_HEADERS): AT (BOOT_OFFSET + SIZEOF_HEADERS) {
 		unmapped_start = .;
-		*(K_TEXT_START);
-		*(K_DATA_START);
-		*(K_INI_PTLS);
+		KEEP(*(K_TEXT_START));
+		KEEP(*(K_DATA_START));
+		KEEP(*(K_INI_PTLS));
 		unmapped_end = .;
 	}
@@ -29,12 +29,12 @@
 
 		kdata_start = .;
-		*(.data);              /* initialized data */
+		*(.data .data.*);              /* initialized data */
 		*(.rodata .rodata.*);
-		*(.eh_frame .eh_frame.*);       /* stack unwinding data */
+		*(.eh_frame .eh_frame.*);      /* stack unwinding data */
 		*(.eh_frame_hdr .eh_frame_hdr.*);
 		*(COMMON);      /* global variables */
 
 		/* bss can't be omitted from the ELF image. */
-		*(.bss);        /* uninitialized static variables */
+		*(.bss .bss.*);        /* uninitialized static variables */
 		kdata_end = .;
 	}
