2006-08-04 Nick Clifton <nickc@redhat.com>
authorMike Frysinger <vapier@gentoo.org>
Sun, 6 Aug 2006 05:23:16 +0000 (05:23 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sun, 6 Aug 2006 05:23:16 +0000 (05:23 +0000)
    Mike Frysinger  <michael.frysing@analog.com>
* scripttempl/elf.sc (USER_LABEL_PREFIX): Define.
(__preinit_array_start, __preinit_array_end, __init_array_start,
__init_array_end, __fini_array_start, __fini_array_end, edata, end):
Use ${USER_LABEL_PREFIX}.
* emulparams/bfin.sh (DATA_END_SYMBOLS,END_SYMBOLS): Unset.
(USER_LABEL_PREFIX): Set.

ld/ChangeLog
ld/emulparams/bfin.sh
ld/scripttempl/elf.sc

index 1ee78d4..7c0aba9 100644 (file)
@@ -1,3 +1,13 @@
+2006-08-04  Nick Clifton  <nickc@redhat.com>
+           Mike Frysinger  <michael.frysing@analog.com>
+
+       * scripttempl/elf.sc (USER_LABEL_PREFIX): Define.
+       (__preinit_array_start, __preinit_array_end, __init_array_start,
+       __init_array_end, __fini_array_start, __fini_array_end, edata, end):
+       Use ${USER_LABEL_PREFIX}.
+       * emulparams/bfin.sh (DATA_END_SYMBOLS,END_SYMBOLS): Unset.
+       (USER_LABEL_PREFIX): Set.
+
 2006-08-04  Marcelo Tosatti  <marcelo@kvack.org>
 
        * ldmain.c (main): Initialise print_gc_sections field of link_info
index b7695a4..73e2b94 100755 (executable)
@@ -10,5 +10,4 @@ ENTRY=__start
 TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
 EMBEDDED=yes
-DATA_END_SYMBOLS="__edata = .; PROVIDE (_edata = .);"
-END_SYMBOLS="__end = .; PROVIDE (_end = .);"
+USER_LABEL_PREFIX=_
index ebe387e..28a94fe 100644 (file)
@@ -52,6 +52,7 @@
 #              so that .got can be in the RELRO area.  It should be set to
 #              the number of bytes in the beginning of .got.plt which can be
 #              in the RELRO area as well.
+#      USER_LABEL_PREFIX - prefix to add to user-visible symbols.
 #
 # When adding sections, do note that the names of some sections are used
 # when specifying the start address of the next.
@@ -379,23 +380,23 @@ cat <<EOF
 
   .preinit_array   ${RELOCATING-0} :
   {
-    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__preinit_array_start = .);}}
+    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_start = .);}}
     KEEP (*(.preinit_array))
-    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__preinit_array_end = .);}}
+    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__preinit_array_end = .);}}
   }
   .init_array   ${RELOCATING-0} :
   {
-     ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_start = .);}}
+     ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_start = .);}}
      KEEP (*(SORT(.init_array.*)))
      KEEP (*(.init_array))
-     ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__init_array_end = .);}}
+     ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__init_array_end = .);}}
   }
   .fini_array   ${RELOCATING-0} :
   {
-    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_start = .);}}
+    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_start = .);}}
     KEEP (*(.fini_array))
     KEEP (*(SORT(.fini_array.*)))
-    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (__fini_array_end = .);}}
+    ${RELOCATING+${CREATE_SHLIB-PROVIDE_HIDDEN (${USER_LABEL_PREFIX}__fini_array_end = .);}}
   }
   ${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}}
   ${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}}
@@ -431,7 +432,7 @@ cat <<EOF
   ${SDATA_GOT+${OTHER_GOT_SECTIONS}}
   ${SDATA}
   ${OTHER_SDATA_SECTIONS}
-  ${RELOCATING+${DATA_END_SYMBOLS-_edata = .; PROVIDE (edata = .);}}
+  ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}}
   ${RELOCATING+__bss_start = .;}
   ${RELOCATING+${OTHER_BSS_SYMBOLS}}
   ${SBSS}
@@ -453,7 +454,7 @@ cat <<EOF
   ${LARGE_SECTIONS}
   ${RELOCATING+. = ALIGN(${ALIGNMENT});}
   ${RELOCATING+${OTHER_END_SYMBOLS}}
-  ${RELOCATING+${END_SYMBOLS-_end = .; PROVIDE (end = .);}}
+  ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}
   ${RELOCATING+${DATA_SEGMENT_END}}
 
   /* Stabs debugging sections.  */