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

Commit 7923f90f authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

vmlinux.lds.h update



Updated after review by Tim Abbott.
- Use HEAD_TEXT_SECTION
- Drop use of section-names.h and delete file
- Introduce EXIT_CALL

Deleting section-names.h required a few simple
updates of init.h

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc: Tim Abbott <tabbott@ksplice.com>
parent b9d97328
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@
 * {
 *	. = START;
 *	__init_begin = .;
 *	HEAD_SECTION
 *	HEAD_TEXT_SECTION
 *	INIT_TEXT_SECTION(PAGE_SIZE)
 *	INIT_DATA_SECTION(...)
 *	PERCPU(PAGE_SIZE)
@@ -38,7 +38,7 @@
 *	/DISCARD/ : {
 *		EXIT_TEXT
 *		EXIT_DATA
 *		*(.exitcall.exit)
 *		EXIT_CALL
 *	}
 *	STABS_DEBUG
 *	DWARF_DEBUG
@@ -52,7 +52,6 @@
 * Examples are: [__initramfs_start, __initramfs_end] for initramfs and
 *               [__nosave_begin, __nosave_end] for the nosave data
 */
 #include <linux/section-names.h>

#ifndef LOAD_OFFSET
#define LOAD_OFFSET 0
@@ -414,9 +413,9 @@
#endif

/* Section used for early init (in .S files) */
#define HEAD_TEXT  *(HEAD_TEXT_SECTION)
#define HEAD_TEXT  *(.head.text)

#define HEAD_SECTION							\
#define HEAD_TEXT_SECTION							\
	.head.text : AT(ADDR(.head.text) - LOAD_OFFSET) {		\
		HEAD_TEXT						\
	}
@@ -473,6 +472,9 @@
	CPU_DISCARD(exit.text)						\
	MEM_DISCARD(exit.text)

#define EXIT_CALL							\
	*(.exitcall.exit)

/*
 * bss (Block Started by Symbol) - uninitialized data
 * zeroed during startup
@@ -692,7 +694,7 @@
 * NOSAVE_DATA starts and ends with a PAGE_SIZE alignment which
 * matches the requirment of PAGE_ALIGNED_DATA.
 *
/* use 0 as page_align if page_aligned data is not used */
 * use 0 as page_align if page_aligned data is not used */
#define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask)	\
	. = ALIGN(PAGE_SIZE);						\
	.data : AT(ADDR(.data) - LOAD_OFFSET) {				\
@@ -726,4 +728,5 @@
#define BSS_SECTION(sbss_align, bss_align)				\
	SBSS								\
	BSS(bss_align)							\
	. = ALIGN(4);							\
	. = ALIGN(4);
+1 −3
Original line number Diff line number Diff line
@@ -2,8 +2,6 @@
#define _LINUX_INIT_H

#include <linux/compiler.h>
#include <linux/section-names.h>
#include <linux/stringify.h>

/* These macros are used to mark some functions or 
 * initialized data (doesn't apply to uninitialized data)
@@ -101,7 +99,7 @@
#define __memexitconst   __section(.memexit.rodata)

/* For assembly routines */
#define __HEAD		.section	__stringify(HEAD_TEXT_SECTION),"ax"
#define __HEAD		.section	".head.text","ax"
#define __INIT		.section	".init.text","ax"
#define __FINIT		.previous

include/linux/section-names.h

deleted100644 → 0
+0 −6
Original line number Diff line number Diff line
#ifndef __LINUX_SECTION_NAMES_H
#define __LINUX_SECTION_NAMES_H

#define HEAD_TEXT_SECTION .head.text

#endif /* !__LINUX_SECTION_NAMES_H */