Преглед на файлове

x86: Rearrange the output input to remove BSS

At present BSS data is including in the image, which wastes binary space.
Remove it by rearranging the sections so that BSS is last.

Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass преди 12 години
родител
ревизия
f82d15ead1
променени са 1 файла, в които са добавени 12 реда и са изтрити 7 реда
  1. 12 7
      arch/x86/cpu/u-boot.lds

+ 12 - 7
arch/x86/cpu/u-boot.lds

@@ -45,9 +45,6 @@ SECTIONS
 	. = ALIGN(4);
 	.data : { *(.data*) }
 
-	. = ALIGN(4);
-	.dynsym : { *(.dynsym*) }
-
 	. = ALIGN(4);
 	.hash : { *(.hash*) }
 
@@ -58,10 +55,7 @@ SECTIONS
 	__data_end = .;
 
 	. = ALIGN(4);
-	__bss_start = ABSOLUTE(.);
-	.bss (NOLOAD) : { *(.bss) }
-	. = ALIGN(4);
-	__bss_end = ABSOLUTE(.);
+	.dynsym : { *(.dynsym*) }
 
 	. = ALIGN(4);
 	__rel_dyn_start = .;
@@ -70,6 +64,17 @@ SECTIONS
 	. = ALIGN(4);
 	_end = .;
 
+	. = ALIGN(4);
+
+	__end = .;
+	.bss __rel_dyn_start (OVERLAY) : {
+		__bss_start = .;
+		*(.bss)
+		*(COM*)
+		. = ALIGN(4);
+		__bss_end = .;
+	}
+
 	/DISCARD/ : { *(.dynstr*) }
 	/DISCARD/ : { *(.dynamic*) }
 	/DISCARD/ : { *(.plt*) }