Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c620626 authored by Mark Salter's avatar Mark Salter Committed by Catalin Marinas
Browse files

arm64: use generic RW_DATA_SECTION macro in linker script



The .data section in the arm64 linker script currently lacks a
definition for page-aligned data. This leads to a .page_aligned
section being placed between the end of data and start of bss.
This patch corrects that by using the generic RW_DATA_SECTION
macro which includes support for page-aligned data.

Signed-off-by: default avatarMark Salter <msalter@redhat.com>
Acked-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 264666e6
Loading
Loading
Loading
Loading
+7 −24
Original line number Diff line number Diff line
@@ -96,30 +96,13 @@ SECTIONS
	PERCPU_SECTION(64)

	__init_end = .;
	. = ALIGN(THREAD_SIZE);
	__data_loc = .;

	.data : AT(__data_loc) {
		_data = .;		/* address in memory */
	. = ALIGN(PAGE_SIZE);
	_data = .;
	__data_loc = _data - LOAD_OFFSET;
	_sdata = .;

		/*
		 * first, the init task union, aligned
		 * to an 8192 byte boundary.
		 */
		INIT_TASK_DATA(THREAD_SIZE)
		NOSAVE_DATA
		CACHELINE_ALIGNED_DATA(64)
		READ_MOSTLY_DATA(64)

		/*
		 * and the usual data section
		 */
		DATA_DATA
		CONSTRUCTORS

	RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE)
	_edata = .;
	}
	_edata_loc = __data_loc + SIZEOF(.data);

	BSS_SECTION(0, 0, 0)