linux_dsm_epyc7002/arch/nds32/kernel/vdso/vdso.lds.S
Greentime Hu e115807657 nds32: fix building failed if using elf toolchain.
OUTPUT_FORMAT is not necessary here and the elf toolchain doesn't
support these formats. Since kernel should be built pass with elf
or Linux toolchain. This can be removed from vdso.ld.S

These are the built failed messages.
  VDSOL   arch/nds32/kernel/vdso/vdso.so.dbg
  /home/users/greentime/tmp/nds32le-elf-newlib-v3-upstream-b224/bin/../lib/gcc/nds32le-elf/8.0.1/../../../../nds32le-elf/bin/ld:
  target elf32-nds32le-linux not found
  collect2: error: ld returned 1 exit status
  make[1]: *** [arch/nds32/kernel/vdso/vdso.so.dbg] Error 1
  make: *** [vdso_prepare] Error 2

Signed-off-by: Greentime Hu <greentime@andestech.com>
2018-03-16 15:45:22 +08:00

76 lines
1.4 KiB
ArmAsm

/*
* SPDX-License-Identifier: GPL-2.0
* Copyright (C) 2005-2017 Andes Technology Corporation
*/
#include <linux/const.h>
#include <asm/page.h>
#include <asm/vdso.h>
OUTPUT_ARCH(nds32)
SECTIONS
{
. = SIZEOF_HEADERS;
.hash : { *(.hash) } :text
.gnu.hash : { *(.gnu.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.note : { *(.note.*) } :text :note
.text : { *(.text*) } :text
.eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
.eh_frame : { KEEP (*(.eh_frame)) } :text
.dynamic : { *(.dynamic) } :text :dynamic
.rodata : { *(.rodata*) } :text
/DISCARD/ : {
*(.note.GNU-stack)
*(.data .data.* .gnu.linkonce.d.* .sdata*)
*(.bss .sbss .dynbss .dynsbss)
}
}
/*
* 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 FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */
dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
note PT_NOTE FLAGS(4); /* PF_R */
eh_frame_hdr PT_GNU_EH_FRAME;
}
/*
* This controls what symbols we export from the DSO.
*/
VERSION
{
LINUX_4 {
global:
__kernel_rt_sigreturn;
__vdso_gettimeofday;
__vdso_clock_getres;
__vdso_clock_gettime;
local: *;
};
}
/*
* Make the rt_sigreturn code visible to the kernel.
*/
VDSO_rt_sigtramp = __kernel_rt_sigreturn;