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

Commit dba3d36b authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Revert "generic, x86: fix __per_cpu_load relocation"



This reverts commit 5a611268.

It is causing occasional boot crashes, caused by certain
linker versions (GNU ld version 2.18.50.0.6-2 20080403) messing up:

 82dcc000 D __per_cpu_load
 c16e6000 A __per_cpu_load_abs

The __per_cpu_load value is out of whack. Hpa noticed the following
detail:

  * (gdb) p/x -(0xc16e6000-0x82dcc000)
  * $2 = 0xc16e6000
  * I.e. one is the other << 1

The two symbols should be equal.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 4369f1fb
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -451,18 +451,17 @@
 * end offset.
 */
#define PERCPU_VADDR(vaddr, phdr)					\
	VMLINUX_SYMBOL(__per_cpu_load_abs) = .;				\
	.data.percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load_abs)	\
	VMLINUX_SYMBOL(__per_cpu_load) = .;				\
	.data.percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load)		\
				- LOAD_OFFSET) {			\
		VMLINUX_SYMBOL(__per_cpu_start) = .;			\
		VMLINUX_SYMBOL(__per_cpu_load) = LOADADDR(.data.percpu) + LOAD_OFFSET;\
		*(.data.percpu.first)					\
		*(.data.percpu.page_aligned)				\
		*(.data.percpu)						\
		*(.data.percpu.shared_aligned)				\
		VMLINUX_SYMBOL(__per_cpu_end) = .;			\
	} phdr								\
	. = VMLINUX_SYMBOL(__per_cpu_load_abs) + SIZEOF(.data.percpu);
	. = VMLINUX_SYMBOL(__per_cpu_load) + SIZEOF(.data.percpu);

/**
 * PERCPU - define output section for percpu area, simple version