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

Commit 558da756 authored by Roland McGrath's avatar Roland McGrath Committed by Linus Torvalds
Browse files

powerpc64 vDSO: linker script indentation



This cleans up the formatting in the vDSO linker script, mostly just the
use of whitespace.  It's intended to approximate the kernel standard
conventions for indenting C, treating elements of the linker script about
like initialized variable definitions.

Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c4eecc99
Loading
Loading
Loading
Loading
+122 −103
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ ENTRY(_start)
SECTIONS
{
	. = VDSO64_LBASE + SIZEOF_HEADERS;

	.hash		: { *(.hash) }			:text
	.gnu.hash	: { *(.gnu.hash) }
	.dynsym		: { *(.dynsym) }
@@ -22,8 +23,7 @@ SECTIONS
	.note		: { *(.note.*) }		:text	:note

	. = ALIGN(16);
  .text           :
  {
	.text		: {
		*(.text .stub .text.* .gnu.linkonce.t.*)
		*(.sfpr .glink)
	}						:text
@@ -32,18 +32,17 @@ SECTIONS
	PROVIDE(etext = .);

	. = ALIGN(8);
  __ftr_fixup : {
    *(__ftr_fixup)
  }
	__ftr_fixup	: { *(__ftr_fixup) }

	. = ALIGN(8);
  __fw_ftr_fixup : {
    *(__fw_ftr_fixup)
  }
	__fw_ftr_fixup	: { *(__fw_ftr_fixup) }

  /* Other stuff is appended to the text segment: */
	/*
	 * Other stuff is appended to the text segment:
	 */
	.rodata		: { *(.rodata .rodata.* .gnu.linkonce.r.*) }
	.rodata1	: { *(.rodata1) }

	.eh_frame_hdr	: { *(.eh_frame_hdr) }		:text	:eh_frame_hdr
	.eh_frame	: { KEEP (*(.eh_frame)) }	:text
	.gcc_except_table : { *(.gcc_except_table) }
@@ -57,7 +56,8 @@ SECTIONS
	_end = .;
	PROVIDE(end = .);

  /* Stabs debugging sections are here too
	/*
	 * Stabs debugging sections are here too.
	 */
	.stab          0 : { *(.stab) }
	.stabstr       0 : { *(.stabstr) }
@@ -66,9 +66,12 @@ SECTIONS
	.stab.index    0 : { *(.stab.index) }
	.stab.indexstr 0 : { *(.stab.indexstr) }
	.comment       0 : { *(.comment) }
  /* DWARF debug sectio/ns.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */

	/*
	 * DWARF debug sections.
	 * Symbols in the DWARF debugging sections are relative to the beginning
	 * of the section so we begin them at 0.
	 */
	/* DWARF 1 */
	.debug          0 : { *(.debug) }
	.line           0 : { *(.line) }
@@ -92,18 +95,29 @@ SECTIONS
	.debug_typenames 0 : { *(.debug_typenames) }
	.debug_varnames  0 : { *(.debug_varnames) }

  /DISCARD/ : { *(.note.GNU-stack) }
  /DISCARD/ : { *(.branch_lt) }
  /DISCARD/ : { *(.data .data.* .gnu.linkonce.d.*) }
  /DISCARD/ : { *(.bss .sbss .dynbss .dynsbss) }
	/DISCARD/	: {
		*(.note.GNU-stack)
		*(.branch_lt)
		*(.data .data.* .gnu.linkonce.d.* .sdata*)
		*(.bss .sbss .dynbss .dynsbss)
	}
}

/*
 * Very old versions of ld do not recognize this name token; use the constant.
 */
#define PT_GNU_EH_FRAME	0x6474e550

/*
 * We must supply the ELF program headers explicitly to get just one
 * PT_LOAD segment, and set the flags explicitly to make segments read-only.
 */
PHDRS
{
	text		PT_LOAD FILEHDR PHDRS FLAGS(5);	/* PF_R|PF_X */
  note PT_NOTE FLAGS(4); /* PF_R */
	dynamic		PT_DYNAMIC FLAGS(4);		/* PF_R */
  eh_frame_hdr 0x6474e550; /* PT_GNU_EH_FRAME, but ld doesn't match the name */
	note		PT_NOTE FLAGS(4);		/* PF_R */
	eh_frame_hdr	PT_GNU_EH_FRAME;
}

/*
@@ -113,7 +127,11 @@ VERSION
{
	VDSO_VERSION_STRING {
	global:
	__kernel_datapage_offset; /* Has to be there for the kernel to find */
		/*
		 * Has to be there for the kernel to find
		 */
		__kernel_datapage_offset;

		__kernel_get_syscall_map;
		__kernel_gettimeofday;
		__kernel_clock_gettime;
@@ -122,6 +140,7 @@ VERSION
		__kernel_sync_dicache;
		__kernel_sync_dicache_p5;
		__kernel_sigtramp_rt64;

	local: *;
	};
}