diff options
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
| -rw-r--r-- | include/asm-generic/vmlinux.lds.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 92b73b6140ff..a553f1041cf1 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -191,7 +191,7 @@ | |||
| 191 | . = ALIGN(align); \ | 191 | . = ALIGN(align); \ |
| 192 | *(.data.cacheline_aligned) | 192 | *(.data.cacheline_aligned) |
| 193 | 193 | ||
| 194 | #define INIT_TASK(align) \ | 194 | #define INIT_TASK_DATA(align) \ |
| 195 | . = ALIGN(align); \ | 195 | . = ALIGN(align); \ |
| 196 | *(.data.init_task) | 196 | *(.data.init_task) |
| 197 | 197 | ||
| @@ -434,14 +434,15 @@ | |||
| 434 | /* | 434 | /* |
| 435 | * Init task | 435 | * Init task |
| 436 | */ | 436 | */ |
| 437 | #define INIT_TASK_DATA(align) \ | 437 | #define INIT_TASK_DATA_SECTION(align) \ |
| 438 | . = ALIGN(align); \ | 438 | . = ALIGN(align); \ |
| 439 | .data.init_task : { \ | 439 | .data.init_task : { \ |
| 440 | INIT_TASK \ | 440 | INIT_TASK_DATA(align) \ |
| 441 | } | 441 | } |
| 442 | 442 | ||
| 443 | #ifdef CONFIG_CONSTRUCTORS | 443 | #ifdef CONFIG_CONSTRUCTORS |
| 444 | #define KERNEL_CTORS() VMLINUX_SYMBOL(__ctors_start) = .; \ | 444 | #define KERNEL_CTORS() . = ALIGN(8); \ |
| 445 | VMLINUX_SYMBOL(__ctors_start) = .; \ | ||
| 445 | *(.ctors) \ | 446 | *(.ctors) \ |
| 446 | VMLINUX_SYMBOL(__ctors_end) = .; | 447 | VMLINUX_SYMBOL(__ctors_end) = .; |
| 447 | #else | 448 | #else |
| @@ -704,15 +705,15 @@ | |||
| 704 | * matches the requirment of PAGE_ALIGNED_DATA. | 705 | * matches the requirment of PAGE_ALIGNED_DATA. |
| 705 | * | 706 | * |
| 706 | * use 0 as page_align if page_aligned data is not used */ | 707 | * use 0 as page_align if page_aligned data is not used */ |
| 707 | #define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask) \ | 708 | #define RW_DATA_SECTION(cacheline, pagealigned, inittask) \ |
| 708 | . = ALIGN(PAGE_SIZE); \ | 709 | . = ALIGN(PAGE_SIZE); \ |
| 709 | .data : AT(ADDR(.data) - LOAD_OFFSET) { \ | 710 | .data : AT(ADDR(.data) - LOAD_OFFSET) { \ |
| 710 | INIT_TASK(inittask) \ | 711 | INIT_TASK_DATA(inittask) \ |
| 711 | CACHELINE_ALIGNED_DATA(cacheline) \ | 712 | CACHELINE_ALIGNED_DATA(cacheline) \ |
| 712 | READ_MOSTLY_DATA(cacheline) \ | 713 | READ_MOSTLY_DATA(cacheline) \ |
| 713 | DATA_DATA \ | 714 | DATA_DATA \ |
| 714 | CONSTRUCTORS \ | 715 | CONSTRUCTORS \ |
| 715 | NOSAVE_DATA(nosave) \ | 716 | NOSAVE_DATA \ |
| 716 | PAGE_ALIGNED_DATA(pagealigned) \ | 717 | PAGE_ALIGNED_DATA(pagealigned) \ |
| 717 | } | 718 | } |
| 718 | 719 | ||
