* scripttempl/elfmips.sc: Remove.
authorIan Lance Taylor <ian@airs.com>
Tue, 13 May 1997 03:30:20 +0000 (03:30 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 13 May 1997 03:30:20 +0000 (03:30 +0000)
* scripttempl/elf.sc: Set ENTRY based on target.  Permit
TEXT_DYNAMIC to control .dynamic segment.  Permit
SHLIB_TEXT_START_ADDR to set start of shared object.  Support
INITIAL_READONLY_SECTIONS.  Put .stub in .text.  Only put
.gnu.linkonce.t* in .text when relocating.  Support
OTHER_TEXT_SECTIONS.  Support SHLIB_DATA_ADDR as well as
DATA_ADDR.  Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
* emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
(DATA_ADDR): Don't set.
(INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
(OTHER_TEXT_SECTIONS): Set.
(OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
(MACHINE): Set to empty string.
* emulparams/elf32l4300.sh: Likewise.
* emulparams/elf32ebmip.sh: Likewise.
* emulparams/elf32elmip.sh: Likewise.
* emulparams/elf32bmip.sh: Likewise.  Also:
(TEXT_DYNAMIC): Set.
* emulparams/elf32lmips.sh: Likewise.
* Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
elfmips.sc.
(eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.

ld/ChangeLog
ld/scripttempl/.Sanitize
ld/scripttempl/elfmips.sc [deleted file]

index e8dd49583ec56f12bc878f2c4787199c2fa986b2..653260a37ff9e6d8ace3b6c04c152595691b5598 100644 (file)
@@ -1,3 +1,29 @@
+Mon May 12 23:22:58 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+       * scripttempl/elfmips.sc: Remove.
+       * scripttempl/elf.sc: Set ENTRY based on target.  Permit
+       TEXT_DYNAMIC to control .dynamic segment.  Permit
+       SHLIB_TEXT_START_ADDR to set start of shared object.  Support
+       INITIAL_READONLY_SECTIONS.  Put .stub in .text.  Only put
+       .gnu.linkonce.t* in .text when relocating.  Support
+       OTHER_TEXT_SECTIONS.  Support SHLIB_DATA_ADDR as well as
+       DATA_ADDR.  Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
+       * emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
+       (DATA_ADDR): Don't set.
+       (INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
+       (OTHER_TEXT_SECTIONS): Set.
+       (OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
+       (MACHINE): Set to empty string.
+       * emulparams/elf32l4300.sh: Likewise.
+       * emulparams/elf32ebmip.sh: Likewise.
+       * emulparams/elf32elmip.sh: Likewise.
+       * emulparams/elf32bmip.sh: Likewise.  Also:
+       (TEXT_DYNAMIC): Set.
+       * emulparams/elf32lmips.sh: Likewise.
+       * Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
+       elfmips.sc.
+       (eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
+
 Mon May 12 11:11:06 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * scripttempl/elf.sc: Don't align the data segment on the next 8
index 6bb42746dadb9c1d0aefde0a7eb0ed4735f4ee4c..3e969d72198ad8f02dd8480e65e8e69b2137e012 100644 (file)
@@ -58,7 +58,6 @@ delta68.sc
 ebmon29k.sc
 elf.sc
 elfd10v.sc
-elfmips.sc
 elfppc.sc
 go32coff.sc
 h8300.sc
diff --git a/ld/scripttempl/elfmips.sc b/ld/scripttempl/elfmips.sc
deleted file mode 100644 (file)
index 9dae3e5..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-#
-# Unusual variables checked by this code:
-#      NOP - two byte opcode for no-op (defaults to 0)
-#      DATA_ADDR - if end-of-text-plus-one-page isn't right for data start
-#      OTHER_READONLY_SECTIONS - other than .text .init .rodata ...
-#              (e.g., .PARISC.milli)
-#      OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
-#              (e.g., .PARISC.global)
-#      OTHER_SECTIONS - at the end
-#      EXECUTABLE_SYMBOLS - symbols that must be defined for an
-#              executable (e.g., _DYNAMIC_LINK)
-#      TEXT_START_SYMBOLS - symbols that appear at the start of the
-#              .text section.
-#      DATA_START_SYMBOLS - symbols that appear at the start of the
-#              .data section.
-#      OTHER_BSS_SYMBOLS - symbols that appear at the start of the
-#              .bss section besides __bss_start.
-#      EMBEDDED - whether this is for an embedded system. 
-#
-# When adding sections, do note that the names of some sections are used
-# when specifying the start address of the next.
-#
-
-# We use a start address of __start for Irix 5 and GNU/Linux/MIPS,
-# _start for other targets.  This is for compatibility with Irix 5,
-# and with old MIPS ELF toolchains.
-if [ -z "$ENTRY" ]; then
-  case "${target}" in
-  mips*-*-irix5*) ENTRY=__start ;;
-  mips*-*-linux*) ENTRY=__start ;;
-  *) ENTRY=_start ;;
-  esac
-fi
-
-# if this is for an embedded system, don't add SIZEOF_HEADERS.
-if [ -z "$EMBEDDED" ]; then
-   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR} + SIZEOF_HEADERS"
-else
-   test -z "${TEXT_BASE_ADDRESS}" && TEXT_BASE_ADDRESS="${TEXT_START_ADDR}"
-fi
-
-test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
-test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
-test "$LD_FLAG" = "N" && DATA_ADDR=.
-INTERP=".interp   ${RELOCATING-0} : { *(.interp)       }"
-cat <<EOF
-OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
-             "${LITTLE_OUTPUT_FORMAT}")
-OUTPUT_ARCH(${ARCH})
-ENTRY(${ENTRY})
-
-${RELOCATING+${LIB_SEARCH_DIRS}}
-${RELOCATING+/* Do we need any of these for elf?
-   __DYNAMIC = 0; ${STACKZERO+${STACKZERO}} ${SHLIB_PATH+${SHLIB_PATH}}  */}
-${RELOCATING+${EXECUTABLE_SYMBOLS}}
-${RELOCATING- /* For some reason, the Solaris linker makes bad executables
-  if gld -r is used and the intermediate file has sections starting
-  at non-zero addresses.  Could be a Solaris ld bug, could be a GNU ld
-  bug.  But for now assigning the zero vmas works.  */}
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  ${CREATE_SHLIB-${RELOCATING+. = ${TEXT_BASE_ADDRESS};}}
-  ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR} + SIZEOF_HEADERS;}}
-  ${CREATE_SHLIB-${INTERP}}
-  .reginfo     ${RELOCATING-0} : { *(.reginfo) }
-  .dynamic     ${RELOCATING-0} : { *(.dynamic) }
-  .dynstr      ${RELOCATING-0} : { *(.dynstr)          }
-  .dynsym      ${RELOCATING-0} : { *(.dynsym)          }
-  .hash        ${RELOCATING-0} : { *(.hash)            }
-  .rel.text    ${RELOCATING-0} :
-    { *(.rel.text) *(.rel.gnu.linkonce.t*) }
-  .rela.text   ${RELOCATING-0} :
-    { *(.rela.text) *(.rela.gnu.linkonce.t*) }
-  .rel.data    ${RELOCATING-0} :
-    { *(.rel.data) *(.rel.gnu.linkonce.d*) }
-  .rela.data   ${RELOCATING-0} :
-    { *(.rela.data) *(.rela.gnu.linkonce.d*) }
-  .rel.rodata  ${RELOCATING-0} :
-    { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
-  .rela.rodata ${RELOCATING-0} :
-    { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
-  .rel.got     ${RELOCATING-0} : { *(.rel.got)         }
-  .rela.got    ${RELOCATING-0} : { *(.rela.got)                }
-  .rel.ctors   ${RELOCATING-0} : { *(.rel.ctors)       }
-  .rela.ctors  ${RELOCATING-0} : { *(.rela.ctors)      }
-  .rel.dtors   ${RELOCATING-0} : { *(.rel.dtors)       }
-  .rela.dtors  ${RELOCATING-0} : { *(.rela.dtors)      }
-  .rel.init    ${RELOCATING-0} : { *(.rel.init)        }
-  .rela.init   ${RELOCATING-0} : { *(.rela.init)       }
-  .rel.fini    ${RELOCATING-0} : { *(.rel.fini)        }
-  .rela.fini   ${RELOCATING-0} : { *(.rela.fini)       }
-  .rel.bss     ${RELOCATING-0} : { *(.rel.bss)         }
-  .rela.bss    ${RELOCATING-0} : { *(.rela.bss)                }
-  .rel.plt     ${RELOCATING-0} : { *(.rel.plt)         }
-  .rela.plt    ${RELOCATING-0} : { *(.rela.plt)                }
-  .rodata  ${RELOCATING-0} : { *(.rodata) *(.gnu.linkonce.r*) }
-  .rodata1 ${RELOCATING-0} : { *(.rodata1) }
-  .init        ${RELOCATING-0} : { *(.init)    } =${NOP-0}
-  .text    ${RELOCATING-0} :
-  {
-    ${RELOCATING+${TEXT_START_SYMBOLS}}
-    *(.text)
-    *(.stub)
-    /* .gnu.warning sections are handled specially by elf32.em.  */
-    *(.gnu.warning)
-    ${RELOCATING+*(.gnu.linkonce.t*)}
-    ${RELOCATING+*(.mips16.fn.*)}
-    ${RELOCATING+*(.mips16.call.*)}
-  } =${NOP-0}
-  ${RELOCATING+_etext = .;}
-  ${RELOCATING+PROVIDE (etext = .);}
-  .fini    ${RELOCATING-0} : { *(.fini)    } =${NOP-0}
-
-  /* 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:
-       ${RELOCATING+. = ${DATA_ADDR-ALIGN(${MAXPAGESIZE})
-               + ((ALIGN(8) + ${MAXPAGESIZE} - ALIGN(${MAXPAGESIZE}))
-                  & (${MAXPAGESIZE} - 1)};}
-     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).  */
-  ${CREATE_SHLIB-${RELOCATING+. += ${DATA_ADDR} - ${TEXT_START_ADDR};}}
-  ${CREATE_SHLIB-${RELOCATING+. += 0x10000;}}
-  ${CREATE_SHLIB+${RELOCATING+. = ALIGN(${MAXPAGESIZE}) + (ALIGN(8) & (${MAXPAGESIZE} - 1));}}
-  .data  ${RELOCATING-0} :
-  {
-    ${RELOCATING+${DATA_START_SYMBOLS}}
-    *(.data)
-    *(.gnu.linkonce.d*)
-    ${CONSTRUCTING+CONSTRUCTORS}
-  }
-  .data1 ${RELOCATING-0} : { *(.data1) }
-  .ctors       ${RELOCATING-0} : { *(.ctors)   }
-  .dtors       ${RELOCATING-0} : { *(.dtors)   }
-  ${RELOCATING+${OTHER_GOT_SYMBOLS}}
-  .got         ${RELOCATING-0} :
-  {
-    *(.got.plt) *(.got)
-   }
-  /* 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   ${RELOCATING-0} : { *(.sdata) }
-  ${RELOCATING+${OTHER_READWRITE_SECTIONS}}
-  ${RELOCATING+_edata  =  .;}
-  ${RELOCATING+PROVIDE (edata = .);}
-  ${RELOCATING+__bss_start = .;}
-  ${RELOCATING+${OTHER_BSS_SYMBOLS}}
-  .sbss    ${RELOCATING-0} : { *(.sbss) *(.scommon) }
-  .bss     ${RELOCATING-0} :
-  {
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-  }
-  ${RELOCATING+_end = . ;}
-  ${RELOCATING+PROVIDE (end = .);}
-
-  /* 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 DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }
-
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }
-
-  /* These must appear regardless of ${RELOCATING}.  */
-  ${OTHER_SECTIONS}
-}
-EOF