|
@@ -30,9 +30,7 @@
|
|
|
* EXCEPTION_TABLE(...)
|
|
|
* NOTES
|
|
|
*
|
|
|
- * __bss_start = .;
|
|
|
- * BSS_SECTION(0, 0)
|
|
|
- * __bss_stop = .;
|
|
|
+ * BSS_SECTION(0, 0, 0)
|
|
|
* _end = .;
|
|
|
*
|
|
|
* /DISCARD/ : {
|
|
@@ -489,7 +487,8 @@
|
|
|
* bss (Block Started by Symbol) - uninitialized data
|
|
|
* zeroed during startup
|
|
|
*/
|
|
|
-#define SBSS \
|
|
|
+#define SBSS(sbss_align) \
|
|
|
+ . = ALIGN(sbss_align); \
|
|
|
.sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \
|
|
|
*(.sbss) \
|
|
|
*(.scommon) \
|
|
@@ -498,12 +497,10 @@
|
|
|
#define BSS(bss_align) \
|
|
|
. = ALIGN(bss_align); \
|
|
|
.bss : AT(ADDR(.bss) - LOAD_OFFSET) { \
|
|
|
- VMLINUX_SYMBOL(__bss_start) = .; \
|
|
|
*(.bss.page_aligned) \
|
|
|
*(.dynbss) \
|
|
|
*(.bss) \
|
|
|
*(COMMON) \
|
|
|
- VMLINUX_SYMBOL(__bss_stop) = .; \
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -735,8 +732,10 @@
|
|
|
INIT_RAM_FS \
|
|
|
}
|
|
|
|
|
|
-#define BSS_SECTION(sbss_align, bss_align) \
|
|
|
- SBSS \
|
|
|
+#define BSS_SECTION(sbss_align, bss_align, stop_align) \
|
|
|
+ . = ALIGN(sbss_align); \
|
|
|
+ VMLINUX_SYMBOL(__bss_start) = .; \
|
|
|
+ SBSS(sbss_align) \
|
|
|
BSS(bss_align) \
|
|
|
- . = ALIGN(4);
|
|
|
-
|
|
|
+ . = ALIGN(stop_align); \
|
|
|
+ VMLINUX_SYMBOL(__bss_stop) = .;
|