diff options
| -rw-r--r-- | arch/mn10300/kernel/vmlinux.lds.S | 2 | ||||
| -rw-r--r-- | include/asm-generic/vmlinux.lds.h | 19 |
2 files changed, 10 insertions, 11 deletions
diff --git a/arch/mn10300/kernel/vmlinux.lds.S b/arch/mn10300/kernel/vmlinux.lds.S index c96ba3da95ac..f4aa07934654 100644 --- a/arch/mn10300/kernel/vmlinux.lds.S +++ b/arch/mn10300/kernel/vmlinux.lds.S | |||
| @@ -107,7 +107,7 @@ SECTIONS | |||
| 107 | __init_end = .; | 107 | __init_end = .; |
| 108 | /* freed after init ends here */ | 108 | /* freed after init ends here */ |
| 109 | 109 | ||
| 110 | BSS(4) | 110 | BSS_SECTION(0, PAGE_SIZE, 4) |
| 111 | 111 | ||
| 112 | _end = . ; | 112 | _end = . ; |
| 113 | 113 | ||
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index a553f1041cf1..6ad76bf5fb40 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -30,9 +30,7 @@ | |||
| 30 | * EXCEPTION_TABLE(...) | 30 | * EXCEPTION_TABLE(...) |
| 31 | * NOTES | 31 | * NOTES |
| 32 | * | 32 | * |
| 33 | * __bss_start = .; | 33 | * BSS_SECTION(0, 0, 0) |
| 34 | * BSS_SECTION(0, 0) | ||
| 35 | * __bss_stop = .; | ||
| 36 | * _end = .; | 34 | * _end = .; |
| 37 | * | 35 | * |
| 38 | * /DISCARD/ : { | 36 | * /DISCARD/ : { |
| @@ -489,7 +487,8 @@ | |||
| 489 | * bss (Block Started by Symbol) - uninitialized data | 487 | * bss (Block Started by Symbol) - uninitialized data |
| 490 | * zeroed during startup | 488 | * zeroed during startup |
| 491 | */ | 489 | */ |
| 492 | #define SBSS \ | 490 | #define SBSS(sbss_align) \ |
| 491 | . = ALIGN(sbss_align); \ | ||
| 493 | .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \ | 492 | .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \ |
| 494 | *(.sbss) \ | 493 | *(.sbss) \ |
| 495 | *(.scommon) \ | 494 | *(.scommon) \ |
| @@ -498,12 +497,10 @@ | |||
| 498 | #define BSS(bss_align) \ | 497 | #define BSS(bss_align) \ |
| 499 | . = ALIGN(bss_align); \ | 498 | . = ALIGN(bss_align); \ |
| 500 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { \ | 499 | .bss : AT(ADDR(.bss) - LOAD_OFFSET) { \ |
| 501 | VMLINUX_SYMBOL(__bss_start) = .; \ | ||
| 502 | *(.bss.page_aligned) \ | 500 | *(.bss.page_aligned) \ |
| 503 | *(.dynbss) \ | 501 | *(.dynbss) \ |
| 504 | *(.bss) \ | 502 | *(.bss) \ |
| 505 | *(COMMON) \ | 503 | *(COMMON) \ |
| 506 | VMLINUX_SYMBOL(__bss_stop) = .; \ | ||
| 507 | } | 504 | } |
| 508 | 505 | ||
| 509 | /* | 506 | /* |
| @@ -735,8 +732,10 @@ | |||
| 735 | INIT_RAM_FS \ | 732 | INIT_RAM_FS \ |
| 736 | } | 733 | } |
| 737 | 734 | ||
| 738 | #define BSS_SECTION(sbss_align, bss_align) \ | 735 | #define BSS_SECTION(sbss_align, bss_align, stop_align) \ |
| 739 | SBSS \ | 736 | . = ALIGN(sbss_align); \ |
| 737 | VMLINUX_SYMBOL(__bss_start) = .; \ | ||
| 738 | SBSS(sbss_align) \ | ||
| 740 | BSS(bss_align) \ | 739 | BSS(bss_align) \ |
| 741 | . = ALIGN(4); | 740 | . = ALIGN(stop_align); \ |
| 742 | 741 | VMLINUX_SYMBOL(__bss_stop) = .; | |
