|
From: James S. <jsi...@us...> - 2001-08-22 18:18:18
|
Update of /cvsroot/linux-mips/linux/arch/mips64
In directory usw-pr-cvs1:/tmp/cvs-serv15361/arch/mips64
Modified Files:
defconfig defconfig-ip22 defconfig-ip27
Added Files:
ld.script.elf32.S ld.script.elf64
Log Message:
Synced to Ralph's tree
--- NEW FILE: ld.script.elf32.S ---
OUTPUT_ARCH(mips)
ENTRY(kernel_entry)
SECTIONS
{
/* Read-only sections, merged into text segment: */
.init : { *(.init) } =0
.text :
{
*(.text)
*(.rodata)
*(.rodata.*)
*(.rodata1)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
} =0
.kstrtab : { *(.kstrtab) }
. = ALIGN(16); /* Exception table */
__start___ex_table = .;
__ex_table : { *(__ex_table) }
__stop___ex_table = .;
__start___dbe_table = .; /* Exception table for data bus errors */
__dbe_table : { *(__dbe_table) }
__stop___dbe_table = .;
_etext = .;
. = ALIGN(16384);
. = . + MAPPED_OFFSET; /* for CONFIG_MAPPED_KERNEL */
.data.init_task : { *(.data.init_task) }
/* Startup code */
. = ALIGN(4096);
__init_begin = .;
.text.init : { *(.text.init) }
.data.init : { *(.data.init) }
. = ALIGN(16);
__setup_start = .;
.setup.init : { *(.setup.init) }
__setup_end = .;
__initcall_start = .;
.initcall.init : { *(.initcall.init) }
__initcall_end = .;
. = ALIGN(4096); /* Align double page for init_task_union */
__init_end = .;
. = ALIGN(4096);
.data.page_aligned : { *(.data.idt) }
. = ALIGN(32);
.data.cacheline_aligned : { *(.data.cacheline_aligned) }
.fini : { *(.fini) } =0
.reginfo : { *(.reginfo) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. It would
be more correct to do this:
. = .;
The current expression does not correctly handle the case of a
text segment ending precisely at the end of a page; it causes the
data segment to skip a page. The above expression does not have
this problem, but it will currently (2/95) cause BFD to allocate
a single segment, combining both text and data, for this case.
This will prevent the text segment from being shared among
multiple executions of the program; I think that is more
important than losing a page of the virtual address space (note
that no actual memory is lost; the page which is skipped can not
be referenced). */
. = .;
.data :
{
_fdata = . ;
*(.data)
CONSTRUCTORS
}
.data1 : { *(.data1) }
.lit8 : { *(.lit8) }
.lit4 : { *(.lit4) }
.ctors : { *(.ctors) }
.dtors : { *(.dtors) }
.got : { *(.got.plt) *(.got) }
.dynamic : { *(.dynamic) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
.sdata : { *(.sdata) }
_edata = .;
.sbss : { *(.sbss) *(.scommon) }
.bss :
{
*(.dynbss)
*(.bss)
*(COMMON)
_end = . ;
}
/* Sections to be discarded */
/DISCARD/ :
{
*(.text.exit)
*(.data.exit)
*(.exitcall.exit)
}
/* These are needed for ELF backends which have not yet been
converted to the new style linker. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
/* DWARF debug sections.
Symbols in the .debug DWARF section are relative to the beginning of the
section so we begin .debug at 0. It's not clear yet what needs to happen
for the others. */
.debug 0 : { *(.debug) }
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_sfnames 0 : { *(.debug_sfnames) }
.line 0 : { *(.line) }
/* These must appear regardless of . */
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
}
--- NEW FILE: ld.script.elf64 ---
OUTPUT_ARCH(mips)
ENTRY(kernel_entry)
SECTIONS
{
/* Read-only sections, merged into text segment: */
/* . = 0xc000000000000000; */
/* This is the value for an Origin kernel, taken from an IRIX kernel. */
/* . = 0xc00000000001c000; */
/* Set the vaddr for the text segment to a value
>= 0xa800 0000 0001 9000 if no symmon is going to configured
>= 0xa800 0000 0030 0000 otherwise */
/* . = 0xa800000000300000; */
/* . = 0xa800000000300000; */
. = 0xffffffff80300000;
.text : {
*(.text)
*(.rodata)
*(.rodata.*)
*(.rodata1)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
} = 0
.kstrtab : { *(.kstrtab) }
. = ALIGN(16); /* Exception table */
__start___ex_table = .;
__ex_table : { *(__ex_table) }
__stop___ex_table = .;
__start___dbe_table = .; /* Exception table for data bus errors */
__dbe_table : { *(__dbe_table) }
__stop___dbe_table = .;
_etext = .;
. = ALIGN(16384);
.data.init_task : { *(.data.init_task) }
/* Startup code */
. = ALIGN(4096);
__init_begin = .;
.text.init : { *(.text.init) }
.data.init : { *(.data.init) }
. = ALIGN(16);
__setup_start = .;
.setup.init : { *(.setup.init) }
__setup_end = .;
__initcall_start = .;
.initcall.init : { *(.initcall.init) }
__initcall_end = .;
. = ALIGN(4096); /* Align double page for init_task_union */
__init_end = .;
. = ALIGN(4096);
.data.page_aligned : { *(.data.idt) }
. = ALIGN(32);
.data.cacheline_aligned : { *(.data.cacheline_aligned) }
.fini : { *(.fini) } =0
.reginfo : { *(.reginfo) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. It would
be more correct to do this:
. = .;
The current expression does not correctly handle the case of a
text segment ending precisely at the end of a page; it causes the
data segment to skip a page. The above expression does not have
this problem, but it will currently (2/95) cause BFD to allocate
a single segment, combining both text and data, for this case.
This will prevent the text segment from being shared among
multiple executions of the program; I think that is more
important than losing a page of the virtual address space (note
that no actual memory is lost; the page which is skipped can not
be referenced). */
. = .;
.data :
{
_fdata = . ;
*(.data)
CONSTRUCTORS
}
.data1 : { *(.data1) }
.lit8 : { *(.lit8) }
.lit4 : { *(.lit4) }
.ctors : { *(.ctors) }
.dtors : { *(.dtors) }
.got : { *(.got.plt) *(.got) }
.dynamic : { *(.dynamic) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
.sdata : { *(.sdata) }
_edata = .;
.sbss : { *(.sbss) *(.scommon) }
.bss :
{
*(.dynbss)
*(.bss)
*(COMMON)
_end = . ;
}
/* Sections to be discarded */
/DISCARD/ :
{
*(.text.exit)
*(.data.exit)
*(.exitcall.exit)
}
/* These are needed for ELF backends which have not yet been
converted to the new style linker. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
/* DWARF debug sections.
Symbols in the .debug DWARF section are relative to the beginning of the
section so we begin .debug at 0. It's not clear yet what needs to happen
for the others. */
.debug 0 : { *(.debug) }
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_sfnames 0 : { *(.debug_sfnames) }
.line 0 : { *(.line) }
/* These must appear regardless of . */
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
}
Index: defconfig
===================================================================
RCS file: /cvsroot/linux-mips/linux/arch/mips64/defconfig,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** defconfig 2001/06/22 02:29:32 1.1.1.1
--- defconfig 2001/08/22 18:18:14 1.2
***************
*** 242,246 ****
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
- # CONFIG_NET_SB1000 is not set
#
--- 242,245 ----
***************
*** 248,257 ****
#
CONFIG_NET_ETHERNET=y
CONFIG_SGI_IOC3_ETH=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
- # CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
--- 247,262 ----
#
CONFIG_NET_ETHERNET=y
+ # CONFIG_ARM_AM79C961A is not set
CONFIG_SGI_IOC3_ETH=y
+ # CONFIG_SUNLANCE is not set
+ # CONFIG_HAPPYMEAL is not set
+ # CONFIG_SUNBMAC is not set
+ # CONFIG_SUNQE is not set
+ # CONFIG_SUNLANCE is not set
+ # CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
***************
*** 263,269 ****
--- 268,278 ----
#
# CONFIG_ACENIC is not set
+ # CONFIG_ACENIC_OMIT_TIGON_I is not set
+ # CONFIG_MYRI_SBUS is not set
# CONFIG_HAMACHI is not set
+ # CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
+ # CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
***************
*** 399,403 ****
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
- # CONFIG_SYSV_FS_WRITE is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
--- 408,411 ----
Index: defconfig-ip22
===================================================================
RCS file: /cvsroot/linux-mips/linux/arch/mips64/defconfig-ip22,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** defconfig-ip22 2001/06/22 02:29:32 1.1.1.1
--- defconfig-ip22 2001/08/22 18:18:14 1.2
***************
*** 245,249 ****
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
- # CONFIG_NET_SB1000 is not set
#
--- 245,248 ----
***************
*** 251,260 ****
#
CONFIG_NET_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
- # CONFIG_AT1700 is not set
- # CONFIG_DEPCA is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
--- 250,263 ----
#
CONFIG_NET_ETHERNET=y
+ # CONFIG_ARM_AM79C961A is not set
+ # CONFIG_SUNLANCE is not set
+ # CONFIG_SUNBMAC is not set
+ # CONFIG_SUNQE is not set
+ # CONFIG_SUNLANCE is not set
+ # CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
***************
*** 266,269 ****
--- 269,274 ----
#
# CONFIG_ACENIC is not set
+ # CONFIG_ACENIC_OMIT_TIGON_I is not set
+ # CONFIG_MYRI_SBUS is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
***************
*** 271,274 ****
--- 276,280 ----
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
+ # CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
***************
*** 406,410 ****
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
- # CONFIG_SYSV_FS_WRITE is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
--- 412,415 ----
Index: defconfig-ip27
===================================================================
RCS file: /cvsroot/linux-mips/linux/arch/mips64/defconfig-ip27,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** defconfig-ip27 2001/06/22 02:29:32 1.1.1.1
--- defconfig-ip27 2001/08/22 18:18:14 1.2
***************
*** 242,246 ****
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
- # CONFIG_NET_SB1000 is not set
#
--- 242,245 ----
***************
*** 248,257 ****
#
CONFIG_NET_ETHERNET=y
CONFIG_SGI_IOC3_ETH=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
- # CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
--- 247,262 ----
#
CONFIG_NET_ETHERNET=y
+ # CONFIG_ARM_AM79C961A is not set
CONFIG_SGI_IOC3_ETH=y
+ # CONFIG_SUNLANCE is not set
+ # CONFIG_HAPPYMEAL is not set
+ # CONFIG_SUNBMAC is not set
+ # CONFIG_SUNQE is not set
+ # CONFIG_SUNLANCE is not set
+ # CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
***************
*** 263,269 ****
--- 268,278 ----
#
# CONFIG_ACENIC is not set
+ # CONFIG_ACENIC_OMIT_TIGON_I is not set
+ # CONFIG_MYRI_SBUS is not set
# CONFIG_HAMACHI is not set
+ # CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
+ # CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
***************
*** 399,403 ****
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
- # CONFIG_SYSV_FS_WRITE is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
--- 408,411 ----
|