* dw2gencfi.c (dwcfi_seg_list): New struct.
[binutils-gdb.git] / ld / scripttempl / elfi370.sc
index 05b1cf1d1bff09455fa43149503e11c738c1ad54..140021ae3aa9ae3eba28f7bab1002c3d6c0b68a7 100644 (file)
@@ -2,12 +2,13 @@
 # This is just a raw copy of elfppc.sc and has not been otherwise modified
 #
 # Unusual variables checked by this code:
-#      NOP - two byte opcode for no-op (defaults to 0)
+#      NOP - four 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)
+#      ATTRS_SECTIONS - at the end
 #      OTHER_SECTIONS - at the end
 #      EXECUTABLE_SYMBOLS - symbols that must be defined for an
 #              executable (e.g., _DYNAMIC_LINK)
@@ -24,6 +25,7 @@
 test -z "$ENTRY" && ENTRY=_start
 test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
 test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
+test -z "$ATTRS_SECTIONS" && ATTRS_SECTIONS=".gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }"
 test "$LD_FLAG" = "N" && DATA_ADDR=.
 SBSS2=".sbss2 ${RELOCATING-0} : { *(.sbss2) }"
 SDATA2=".sdata2 ${RELOCATING-0} : { *(.sdata2) }"
@@ -33,7 +35,7 @@ cat <<EOF
 OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
              "${LITTLE_OUTPUT_FORMAT}")
 OUTPUT_ARCH(${ARCH})
-ENTRY(${ENTRY})
+${RELOCATING+ENTRY(${ENTRY})}
 
 ${RELOCATING+${LIB_SEARCH_DIRS}}
 ${RELOCATING+/* Do we need any of these for elf?
@@ -92,7 +94,7 @@ SECTIONS
   ${RELOCATING+PROVIDE (etext = .);}
   ${CREATE_SHLIB-${SDATA2}}
   ${CREATE_SHLIB-${SBSS2}}
-  ${RELOCATING+${OTHER_READONLY_SECTIONS}}
+  ${OTHER_READONLY_SECTIONS}
 
   /* 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
@@ -118,7 +120,7 @@ SECTIONS
     ${CONSTRUCTING+CONSTRUCTORS}
   }
   .data1 ${RELOCATING-0} : { *(.data1) }
-  ${RELOCATING+${OTHER_READWRITE_SECTIONS}}
+  ${OTHER_READWRITE_SECTIONS}
 
   .got1                ${RELOCATING-0} : { *(.got1) }
   .dynamic     ${RELOCATING-0} : { *(.dynamic) }
@@ -212,7 +214,7 @@ SECTIONS
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
 
-  /* These must appear regardless of ${RELOCATING}.  */
+  ${ATTRS_SECTIONS}
   ${OTHER_SECTIONS}
 }
 EOF