[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH 2/8] plat/kvm, plat/xen: Rename linker script file name extension to '.lds'
Reviewed-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx> Simon Kuenzer <simon.kuenzer@xxxxxxxxx> writes: > The linker script file extension '.lds' (alias "ld script") seems to be > more natural understandable than '.ld' for linker script files. > We also plan to introduce the extension '.ldS' for linker scripts that > have to be processed by GCC's preprocessor. But first of all, we adopt > the existing files to this new file name extension convention. > > Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > --- > plat/kvm/Linker.uk | 2 +- > plat/kvm/x86/link64.ld | 94 ----------------------------------------- > plat/kvm/x86/link64.lds | 94 +++++++++++++++++++++++++++++++++++++++++ > plat/xen/Linker.uk | 8 ++-- > plat/xen/arm/link32.ld | 109 > ------------------------------------------------ > plat/xen/arm/link32.lds | 109 > ++++++++++++++++++++++++++++++++++++++++++++++++ > plat/xen/x86/link64.ld | 89 --------------------------------------- > plat/xen/x86/link64.lds | 89 +++++++++++++++++++++++++++++++++++++++ > 8 files changed, 297 insertions(+), 297 deletions(-) > delete mode 100644 plat/kvm/x86/link64.ld > create mode 100644 plat/kvm/x86/link64.lds > delete mode 100644 plat/xen/arm/link32.ld > create mode 100644 plat/xen/arm/link32.lds > delete mode 100644 plat/xen/x86/link64.ld > create mode 100644 plat/xen/x86/link64.lds > > diff --git a/plat/kvm/Linker.uk b/plat/kvm/Linker.uk > index b43072f..721ab4f 100644 > --- a/plat/kvm/Linker.uk > +++ b/plat/kvm/Linker.uk > @@ -1,5 +1,5 @@ > ifeq (x86_64,$(CONFIG_UK_ARCH)) > -KVM_LDSCRIPT := $(CONFIG_UK_BASE)/plat/kvm/x86/link64.ld > +KVM_LDSCRIPT := $(CONFIG_UK_BASE)/plat/kvm/x86/link64.lds > KVM_LDFLAGS-y += -Wl,-m,elf_x86_64 > endif > > diff --git a/plat/kvm/x86/link64.ld b/plat/kvm/x86/link64.ld > deleted file mode 100644 > index 60b5d21..0000000 > --- a/plat/kvm/x86/link64.ld > +++ /dev/null > @@ -1,94 +0,0 @@ > -/* SPDX-License-Identifier: ISC */ > -/* > - * Author(s): Dan Williams <djwillia@xxxxxxxxxx> > - * Martin Lucina <martin.lucina@xxxxxxxxxx> > - * Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > - * > - * Copyright (c) 2016, IBM > - * (c) 2016-2017 Docker, Inc. > - * (c) 2017-2018, NEC Europe Ltd. > - * > - * Permission to use, copy, modify, and/or distribute this software > - * for any purpose with or without fee is hereby granted, provided > - * that the above copyright notice and this permission notice appear > - * in all copies. > - * > - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR > - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS > - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, > - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN > - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. > - */ > - > -ENTRY(_libkvmplat_entry) > -SECTIONS > -{ > - . = 0x100000; > - > - /* Code */ > - _text = .; > - .text : > - { > - /* prevent linker gc from removing multiboot header */ > - KEEP (*(.data.boot)) > - *(.text.boot) > - > - *(.text) > - *(.text.*) > - } > - _etext = .; > - > - /* Read-only data */ > - . = ALIGN(0x1000); > - _rodata = .; > - .rodata : > - { > - *(.rodata) > - *(.rodata.*) > - } > - _erodata = .; > - > - /* Constructor tables (read-only) */ > - _ctors = .; > - .preinit_array : { > - . = ALIGN(0x8); > - PROVIDE_HIDDEN (__preinit_array_start = .); > - KEEP (*(.preinit_array)) > - PROVIDE_HIDDEN (__preinit_array_end = .); > - } > - > - .init_array : { > - . = ALIGN(0x8); > - PROVIDE_HIDDEN (__init_array_start = .); > - KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) > SORT_BY_INIT_PRIORITY(.ctors.*))) > - KEEP (*(.init_array .ctors)) > - PROVIDE_HIDDEN (__init_array_end = .); > - } > - _ectors = .; > - > - /* Read-write data (initialized) */ > - . = ALIGN(0x1000); > - _data = .; > - .data : > - { > - *(.data) > - *(.data.*) > - } > - _edata = .; > - > - /* Read-write data (uninitialized) */ > - . = ALIGN(0x1000); > - __bss_start = .; > - .bss : > - { > - *(.bss) > - *(.bss.*) > - *(COMMON) > - . = ALIGN(0x1000); > - } > - > - _end = .; > -} > diff --git a/plat/kvm/x86/link64.lds b/plat/kvm/x86/link64.lds > new file mode 100644 > index 0000000..60b5d21 > --- /dev/null > +++ b/plat/kvm/x86/link64.lds > @@ -0,0 +1,94 @@ > +/* SPDX-License-Identifier: ISC */ > +/* > + * Author(s): Dan Williams <djwillia@xxxxxxxxxx> > + * Martin Lucina <martin.lucina@xxxxxxxxxx> > + * Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > + * > + * Copyright (c) 2016, IBM > + * (c) 2016-2017 Docker, Inc. > + * (c) 2017-2018, NEC Europe Ltd. > + * > + * Permission to use, copy, modify, and/or distribute this software > + * for any purpose with or without fee is hereby granted, provided > + * that the above copyright notice and this permission notice appear > + * in all copies. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > + * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR > + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS > + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, > + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN > + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. > + */ > + > +ENTRY(_libkvmplat_entry) > +SECTIONS > +{ > + . = 0x100000; > + > + /* Code */ > + _text = .; > + .text : > + { > + /* prevent linker gc from removing multiboot header */ > + KEEP (*(.data.boot)) > + *(.text.boot) > + > + *(.text) > + *(.text.*) > + } > + _etext = .; > + > + /* Read-only data */ > + . = ALIGN(0x1000); > + _rodata = .; > + .rodata : > + { > + *(.rodata) > + *(.rodata.*) > + } > + _erodata = .; > + > + /* Constructor tables (read-only) */ > + _ctors = .; > + .preinit_array : { > + . = ALIGN(0x8); > + PROVIDE_HIDDEN (__preinit_array_start = .); > + KEEP (*(.preinit_array)) > + PROVIDE_HIDDEN (__preinit_array_end = .); > + } > + > + .init_array : { > + . = ALIGN(0x8); > + PROVIDE_HIDDEN (__init_array_start = .); > + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) > SORT_BY_INIT_PRIORITY(.ctors.*))) > + KEEP (*(.init_array .ctors)) > + PROVIDE_HIDDEN (__init_array_end = .); > + } > + _ectors = .; > + > + /* Read-write data (initialized) */ > + . = ALIGN(0x1000); > + _data = .; > + .data : > + { > + *(.data) > + *(.data.*) > + } > + _edata = .; > + > + /* Read-write data (uninitialized) */ > + . = ALIGN(0x1000); > + __bss_start = .; > + .bss : > + { > + *(.bss) > + *(.bss.*) > + *(COMMON) > + . = ALIGN(0x1000); > + } > + > + _end = .; > +} > diff --git a/plat/xen/Linker.uk b/plat/xen/Linker.uk > index 0c0c4ee..455f10f 100644 > --- a/plat/xen/Linker.uk > +++ b/plat/xen/Linker.uk > @@ -1,16 +1,16 @@ > ifeq (x86_64,$(CONFIG_UK_ARCH)) > -XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/x86/link64.ld > +XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/x86/link64.lds > XEN_LDFLAGS-y += -Wl,-m,elf_x86_64 > endif > ifeq (x86_32,$(CONFIG_UK_ARCH)) > -XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/x86/link32.ld > +XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/x86/link32.lds > XEN_LDFLAGS-y += -Wl,-m,elf_x86_32 > endif > ifeq (arm_64,$(CONFIG_UK_ARCH)) > -XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/arm/link64.ld > +XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/arm/link64.lds > endif > ifeq (arm,$(CONFIG_UK_ARCH)) > -XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/arm/link32.ld > +XEN_LDSCRIPT := $(CONFIG_UK_BASE)/plat/xen/arm/link32.lds > endif > > ## > diff --git a/plat/xen/arm/link32.ld b/plat/xen/arm/link32.ld > deleted file mode 100644 > index 4508e05..0000000 > --- a/plat/xen/arm/link32.ld > +++ /dev/null > @@ -1,109 +0,0 @@ > -/* SPDX-License-Identifier: BSD-2-Clause */ > -/* > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * 1. Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > - * notice, this list of conditions and the following disclaimer in the > - * documentation and/or other materials provided with the distribution. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > - * SUCH DAMAGE. > - * > - */ > -/* Taken from Mini-OS */ > - > -OUTPUT_ARCH(arm) > -ENTRY(_libxenplat_start) > -SECTIONS > -{ > - /* Note: we currently assume that Xen will load the kernel image > - * at start-of-RAM + 0x8000. We use this initial 32 KB for the stack > - * and translation tables. > - */ > - _boot_stack = 0x400000; /* 16 KB boot stack */ > - _boot_stack_end = 0x404000; > - _page_dir = 0x404000; /* 16 KB translation table */ > - . = 0x408000; > - _text = .; /* Text and read-only data */ > - .text : { > - *(.text.zimageboot) /* zImage boot header & code > - must come first */ > - > - *(.text) > - *(.gnu.warning) > - } = 0x9090 > - > - _etext = .; /* End of text section */ > - > - /* Read-only data */ > - _rodata = .; > - .rodata : > - { > - *(.rodata) > - *(.rodata.*) > - } > - . = ALIGN(4096); > - _erodata = .; > - > - _ctors = .; > - .preinit_array : { > - . = ALIGN(0x8); > - PROVIDE_HIDDEN (__preinit_array_start = .); > - KEEP (*(.preinit_array)) > - PROVIDE_HIDDEN (__preinit_array_end = .); > - } > - > - .init_array : { > - . = ALIGN(0x8); > - PROVIDE_HIDDEN (__init_array_start = .); > - KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) > SORT_BY_INIT_PRIORITY(.ctors.*))) > - KEEP (*(.init_array .ctors)) > - PROVIDE_HIDDEN (__init_array_end = .); > - } > - _ectors = .; > - > - .data : { /* Data */ > - _data = .; > - *(.data) > - } > - > - /* Note: linker will insert any extra sections here, just before .bss */ > - > - .bss : { > - _edata = .; /* End of data included in image */ > - /* Nothing after here is included in the zImage's size */ > - > - __bss_start = .; > - *(.bss) > - *(.app.bss) > - } > - _end = . ; > - > - /* Sections to be discarded */ > - /DISCARD/ : { > - *(.text.exit) > - *(.data.exit) > - *(.exitcall.exit) > - } > - > - /* Stabs debugging sections. */ > - .stab 0 : { *(.stab) } > - .stabstr 0 : { *(.stabstr) } > - .stab.excl 0 : { *(.stab.excl) } > - .stab.exclstr 0 : { *(.stab.exclstr) } > - .stab.index 0 : { *(.stab.index) } > - .stab.indexstr 0 : { *(.stab.indexstr) } > - .comment 0 : { *(.comment) } > -} > diff --git a/plat/xen/arm/link32.lds b/plat/xen/arm/link32.lds > new file mode 100644 > index 0000000..4508e05 > --- /dev/null > +++ b/plat/xen/arm/link32.lds > @@ -0,0 +1,109 @@ > +/* SPDX-License-Identifier: BSD-2-Clause */ > +/* > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + * > + */ > +/* Taken from Mini-OS */ > + > +OUTPUT_ARCH(arm) > +ENTRY(_libxenplat_start) > +SECTIONS > +{ > + /* Note: we currently assume that Xen will load the kernel image > + * at start-of-RAM + 0x8000. We use this initial 32 KB for the stack > + * and translation tables. > + */ > + _boot_stack = 0x400000; /* 16 KB boot stack */ > + _boot_stack_end = 0x404000; > + _page_dir = 0x404000; /* 16 KB translation table */ > + . = 0x408000; > + _text = .; /* Text and read-only data */ > + .text : { > + *(.text.zimageboot) /* zImage boot header & code > + must come first */ > + > + *(.text) > + *(.gnu.warning) > + } = 0x9090 > + > + _etext = .; /* End of text section */ > + > + /* Read-only data */ > + _rodata = .; > + .rodata : > + { > + *(.rodata) > + *(.rodata.*) > + } > + . = ALIGN(4096); > + _erodata = .; > + > + _ctors = .; > + .preinit_array : { > + . = ALIGN(0x8); > + PROVIDE_HIDDEN (__preinit_array_start = .); > + KEEP (*(.preinit_array)) > + PROVIDE_HIDDEN (__preinit_array_end = .); > + } > + > + .init_array : { > + . = ALIGN(0x8); > + PROVIDE_HIDDEN (__init_array_start = .); > + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) > SORT_BY_INIT_PRIORITY(.ctors.*))) > + KEEP (*(.init_array .ctors)) > + PROVIDE_HIDDEN (__init_array_end = .); > + } > + _ectors = .; > + > + .data : { /* Data */ > + _data = .; > + *(.data) > + } > + > + /* Note: linker will insert any extra sections here, just before .bss */ > + > + .bss : { > + _edata = .; /* End of data included in image */ > + /* Nothing after here is included in the zImage's size */ > + > + __bss_start = .; > + *(.bss) > + *(.app.bss) > + } > + _end = . ; > + > + /* Sections to be discarded */ > + /DISCARD/ : { > + *(.text.exit) > + *(.data.exit) > + *(.exitcall.exit) > + } > + > + /* Stabs debugging sections. */ > + .stab 0 : { *(.stab) } > + .stabstr 0 : { *(.stabstr) } > + .stab.excl 0 : { *(.stab.excl) } > + .stab.exclstr 0 : { *(.stab.exclstr) } > + .stab.index 0 : { *(.stab.index) } > + .stab.indexstr 0 : { *(.stab.indexstr) } > + .comment 0 : { *(.comment) } > +} > diff --git a/plat/xen/x86/link64.ld b/plat/xen/x86/link64.ld > deleted file mode 100644 > index 5391dbd..0000000 > --- a/plat/xen/x86/link64.ld > +++ /dev/null > @@ -1,89 +0,0 @@ > -/* SPDX-License-Identifier: BSD-2-Clause */ > -/* > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * 1. Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > - * notice, this list of conditions and the following disclaimer in the > - * documentation and/or other materials provided with the distribution. > - * > - * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND > - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > - * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE > - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > - * SUCH DAMAGE. > - */ > -/* Taken from Mini-OS */ > - > -OUTPUT_FORMAT("elf64-x86-64") > -OUTPUT_ARCH(i386:x86-64) > - > -ENTRY(_libxenplat_start) > -SECTIONS > -{ > - . = 0x0; > - _text = .; /* Text and read-only data */ > - .text : { > - *(.text.boot) > - *(.text) > - *(.gnu.warning) > - } = 0x2000 > - > - _etext = .; /* End of text section */ > - > - _rodata = .; > - .rodata : { > - *(.rodata) > - *(.rodata.*) > - } > - . = ALIGN(4096); > - _erodata = .; > - > - _ctors = .; > - .preinit_array : { > - . = ALIGN(0x8); > - PROVIDE_HIDDEN (__preinit_array_start = .); > - KEEP (*(.preinit_array)) > - PROVIDE_HIDDEN (__preinit_array_end = .); > - } > - > - .init_array : { > - . = ALIGN(0x8); > - PROVIDE_HIDDEN (__init_array_start = .); > - KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) > SORT_BY_INIT_PRIORITY(.ctors.*))) > - KEEP (*(.init_array .ctors)) > - PROVIDE_HIDDEN (__init_array_end = .); > - } > - _ectors = .; > - > - _data = .; > - .data : { /* Data */ > - *(.data) > - } > - > - _edata = .; /* End of data section */ > - > - __bss_start = .; /* BSS */ > - .bss : { > - *(.bss) > - . = ALIGN(4096); > - } > - _end = . ; > - > - /* Sections to be discarded */ > - /* TODO revisit when we have a resolution for discarded sections > - /DISCARD/ : { > - *(.text.exit) > - *(.data.exit) > - *(.exitcall.exit) > - } > - */ > -} > diff --git a/plat/xen/x86/link64.lds b/plat/xen/x86/link64.lds > new file mode 100644 > index 0000000..5391dbd > --- /dev/null > +++ b/plat/xen/x86/link64.lds > @@ -0,0 +1,89 @@ > +/* SPDX-License-Identifier: BSD-2-Clause */ > +/* > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + */ > +/* Taken from Mini-OS */ > + > +OUTPUT_FORMAT("elf64-x86-64") > +OUTPUT_ARCH(i386:x86-64) > + > +ENTRY(_libxenplat_start) > +SECTIONS > +{ > + . = 0x0; > + _text = .; /* Text and read-only data */ > + .text : { > + *(.text.boot) > + *(.text) > + *(.gnu.warning) > + } = 0x2000 > + > + _etext = .; /* End of text section */ > + > + _rodata = .; > + .rodata : { > + *(.rodata) > + *(.rodata.*) > + } > + . = ALIGN(4096); > + _erodata = .; > + > + _ctors = .; > + .preinit_array : { > + . = ALIGN(0x8); > + PROVIDE_HIDDEN (__preinit_array_start = .); > + KEEP (*(.preinit_array)) > + PROVIDE_HIDDEN (__preinit_array_end = .); > + } > + > + .init_array : { > + . = ALIGN(0x8); > + PROVIDE_HIDDEN (__init_array_start = .); > + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) > SORT_BY_INIT_PRIORITY(.ctors.*))) > + KEEP (*(.init_array .ctors)) > + PROVIDE_HIDDEN (__init_array_end = .); > + } > + _ectors = .; > + > + _data = .; > + .data : { /* Data */ > + *(.data) > + } > + > + _edata = .; /* End of data section */ > + > + __bss_start = .; /* BSS */ > + .bss : { > + *(.bss) > + . = ALIGN(4096); > + } > + _end = . ; > + > + /* Sections to be discarded */ > + /* TODO revisit when we have a resolution for discarded sections > + /DISCARD/ : { > + *(.text.exit) > + *(.data.exit) > + *(.exitcall.exit) > + } > + */ > +} > -- > 2.7.4 > -- Yuri Volchkov Software Specialist NEC Europe Ltd Kurfürsten-Anlage 36 D-69115 Heidelberg _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |