Author: dgorbachev
Date: Thu Feb 23 18:59:24 2012
New Revision: 55835
URL:
http://svn.reactos.org/svn/reactos?rev=55835&view=rev
Log:
[FREELDR][NTOSKRNL]
Update linker scripts.
Modified:
trunk/reactos/boot/freeldr/freeldr/freeldr_i386.lnk
trunk/reactos/ntoskrnl/ntoskrnl_i386.lnk
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr_i386.lnk
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freel…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/freeldr_i386.lnk [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr_i386.lnk [iso-8859-1] Thu Feb 23 18:59:24
2012
@@ -23,6 +23,15 @@
__bss_end__ = . ;
}
+ .stab BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.stab)
+ }
+ .stabstr BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.stabstr)
+ }
+
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section. Unlike other targets that fake this by putting the
@@ -43,7 +52,7 @@
/* DWARF 2. */
.debug_info BLOCK(__section_alignment__) (NOLOAD) :
{
- *(.debug_info) *(.gnu.linkonce.wi.*)
+ *(.debug_info .gnu.linkonce.wi.*)
}
.debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
{
@@ -98,7 +107,7 @@
/* DWARF 4. */
.debug_types BLOCK(__section_alignment__) (NOLOAD) :
{
- *(.debug_types) *(.gnu.linkonce.wt.*)
+ *(.debug_types .gnu.linkonce.wt.*)
}
/DISCARD/ :
Modified: trunk/reactos/ntoskrnl/ntoskrnl_i386.lnk
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl_i386.lnk…
==============================================================================
--- trunk/reactos/ntoskrnl/ntoskrnl_i386.lnk [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl_i386.lnk [iso-8859-1] Thu Feb 23 18:59:24 2012
@@ -1,105 +1,150 @@
-OUTPUT_FORMAT(pei-i386)
-ENTRY(_mainCRTStartup)
SECTIONS
{
- .text __image_base__ + __section_alignment__ :
+ .text __image_base__ + __section_alignment__ :
{
- __text_start__ = .;
- *(.init)
*(.text)
- *(SORT(.text$*))
- *(.glue_7t)
- *(.glue_7)
- ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
- LONG (-1); *(.ctors); *(.ctor); LONG (0);
- ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
- LONG (-1); *(.dtors); *(.dtor); LONG (0);
- *(.fini)
- /* ??? Why is .gcc_exc here? */
- *(.gcc_exc)
- __text_end__ = .;
- *(.gcc_except_table)
+ *(SORT(.text*))
}
- /* The Cygwin32 library uses a section to avoid copying certain data
- on fork. This used to be named ".data". The linker used
- to include this between __data_start__ and __data_end__, but that
- breaks building the cygwin32 dll. Instead, we name the section
- ".data_cygwin_nocopy" and explictly include it after __data_end__. */
- .data BLOCK(__section_alignment__) :
+
+ .data BLOCK(__section_alignment__) :
{
- __data_start__ = . ;
*(.data)
- *(.data2)
- *(SORT(.data$*))
- __data_end__ = . ;
- *(.data_cygwin_nocopy)
+ *(SORT(.data*))
}
+
.rdata BLOCK(__section_alignment__) :
{
*(.rdata)
- *(SORT(.rdata$*))
+ *(SORT(.rdata*))
*(.eh_frame)
}
+
.edata BLOCK(__section_alignment__) :
{
*(.edata)
}
+
/DISCARD/ :
{
- *(.debug$S)
- *(.debug$T)
- *(.debug$F)
*(.drectve)
+ *(.gnu.lto_*)
}
.idata BLOCK(__section_alignment__) :
{
/* This cannot currently be handled with grouped sections.
- See pe.em:sort_sections. */
+ See pe.em:sort_sections. */
SORT(*)(.idata$2)
SORT(*)(.idata$3)
/* These zeroes mark the end of the import list. */
LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
- SORT(*)(.idata$4)
+ SORT(*)(.idata$4)
SORT(*)(.idata$5)
SORT(*)(.idata$6)
SORT(*)(.idata$7)
}
- .CRT BLOCK(__section_alignment__) :
- {
- *(SORT(.CRT$*))
- }
+
.rsrc BLOCK(__section_alignment__) :
- {
+ {
*(.rsrc)
*(SORT(.rsrc$*))
}
+
.bss BLOCK(__section_alignment__) :
{
- __bss_start__ = . ;
*(.bss)
*(COMMON)
- __bss_end__ = . ;
}
+
.reloc BLOCK(__section_alignment__) :
- {
+ {
*(.reloc)
- /* These zeroes mark the end of the reloc section. */
- LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
}
+
.stab BLOCK(__section_alignment__) (NOLOAD) :
{
- [ .stab ]
+ *(.stab)
}
.stabstr BLOCK(__section_alignment__) (NOLOAD) :
{
- [ .stabstr ]
+ *(.stabstr)
}
- INIT BLOCK(__section_alignment__) :
+
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section. Unlike other targets that fake this by putting the
+ section VMA at 0, the PE format will not allow it. */
+ /* DWARF 1.1 and DWARF 2. */
+ .debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
{
- __init_start__ = . ;
- *(INIT)
- __init_end__ = . ;
+ *(.debug_aranges)
+ }
+ .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_pubnames)
+ }
+ .debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_pubtypes)
+ }
+ /* DWARF 2. */
+ .debug_info BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_info .gnu.linkonce.wi.*)
+ }
+ .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_abbrev)
+ }
+ .debug_line BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_line)
+ }
+ .debug_frame BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_frame*)
+ }
+ .debug_str BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_str)
+ }
+ .debug_loc BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_loc)
+ }
+ .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_macinfo)
+ }
+ /* SGI/MIPS DWARF 2 extensions. */
+ .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_weaknames)
+ }
+ .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_funcnames)
+ }
+ .debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_typenames)
+ }
+ .debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_varnames)
+ }
+ .debug_macro BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_macro)
+ }
+ /* DWARF 3. */
+ .debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_ranges)
+ }
+ /* DWARF 4. */
+ .debug_types BLOCK(__section_alignment__) (NOLOAD) :
+ {
+ *(.debug_types .gnu.linkonce.wt.*)
}
}
-