cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vmlinux.lds.S (1735B)


      1#include <asm-generic/vmlinux.lds.h>
      2#include <asm/page.h>
      3#include "sizes.h"
      4
      5#ifndef CONFIG_64BIT
      6OUTPUT_FORMAT("elf32-hppa-linux")
      7OUTPUT_ARCH(hppa)
      8#else
      9OUTPUT_FORMAT("elf64-hppa-linux")
     10OUTPUT_ARCH(hppa:hppa2.0w)
     11#endif
     12
     13ENTRY(startup)
     14
     15SECTIONS
     16{
     17	/* palo loads at 0x60000 */
     18	/* loaded kernel will move to 0x10000 */
     19	. = 0xe0000;    /* should not overwrite palo code */
     20
     21	.head.text : {
     22		_head = . ;
     23		HEAD_TEXT
     24		_ehead = . ;
     25	}
     26
     27	/* keep __gp below 0x1000000 */
     28#ifdef CONFIG_64BIT
     29	. = ALIGN(16);
     30	/* Linkage tables */
     31	.opd : {
     32		__start_opd = .;
     33		*(.opd)
     34		__end_opd = .;
     35	} PROVIDE (__gp = .);
     36	.plt : {
     37		*(.plt)
     38	}
     39	.dlt : {
     40		*(.dlt)
     41	}
     42#endif
     43	_startcode_end = .;
     44
     45	/* vmlinux.bin.gz is here */
     46	. = ALIGN(8);
     47	.rodata.compressed : {
     48		*(.rodata.compressed)
     49	}
     50
     51	/* bootloader code and data starts at least behind area of extracted kernel */
     52	. = MAX(ABSOLUTE(.), (SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START));
     53
     54	/* align on next page boundary */
     55	. = ALIGN(4096);
     56	.text :	{
     57		_text = .;	/* Text */
     58		*(.text)
     59		*(.text.*)
     60		_etext = . ;
     61	}
     62	. = ALIGN(8);
     63	.data :	{
     64		_data = . ;
     65		*(.data)
     66		*(.data.*)
     67		_edata = . ;
     68	}
     69	. = ALIGN(8);
     70	.rodata : {
     71		_rodata = . ;
     72		*(.rodata)	 /* read-only data */
     73		*(.rodata.*)
     74		_erodata = . ;
     75	}
     76	. = ALIGN(8);
     77	.bss : {
     78		_bss = . ;
     79		*(.bss)
     80		*(.bss.*)
     81		*(COMMON)
     82		. = ALIGN(4096);
     83		_ebss = .;
     84	}
     85
     86	STABS_DEBUG
     87	ELF_DETAILS
     88	.note 0 : { *(.note) }
     89
     90	/* Sections to be discarded */
     91	DISCARDS
     92	/DISCARD/ : {
     93#ifdef CONFIG_64BIT
     94		/* temporary hack until binutils is fixed to not emit these
     95		 * for static binaries
     96		 */
     97		*(.PARISC.unwind)	/* no unwind data */
     98		*(.interp)
     99		*(.dynsym)
    100		*(.dynstr)
    101		*(.dynamic)
    102		*(.hash)
    103		*(.gnu.hash)
    104#endif
    105	}
    106}