[BACK]Return to criself.sh CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / gpl3 / binutils.old / dist / ld / emulparams

Annotation of src/external/gpl3/binutils.old/dist/ld/emulparams/criself.sh, Revision 1.5.2.1

1.1       christos    1: # This is for embedded products (no MMU) with ELF.
                      2: MACHINE=
                      3: SCRIPT_NAME=elf
                      4: TEMPLATE_NAME=elf32
                      5:
                      6: # Symbols have underscore prepended.
                      7: OUTPUT_FORMAT="elf32-us-cris"
                      8: NO_REL_RELOCS=yes
                      9: ARCH=cris
                     10: MAXPAGESIZE=32
1.5.2.1 ! martin     11: USER_LABEL_PREFIX=_
1.1       christos   12: EMBEDDED=yes
                     13: ALIGNMENT=32
                     14: TEXT_START_ADDR=0
                     15:
                     16: # Put crt0 for flash/eprom etc. in this section.
                     17: INITIAL_READONLY_SECTIONS=
                     18: if test -z "${CREATE_SHLIB}"; then
                     19:   INITIAL_READONLY_SECTIONS=".interp       ${RELOCATING-0} : { *(.interp) }"
                     20: fi
                     21: INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
                     22:   .startup : { KEEP(*(.startup)) }"
                     23:
                     24: # Setting __Stext to . in TEXT_START_SYMBOLS doesn't get what we want
                     25: # most of the time, which is the start of all read-only sections;
                     26: # there's at least .startup and .init before it.  We have to resort to
                     27: # trickery.  Note that __Stext is always defined, not PROVIDE:d, since
                     28: # external tools look for it.
                     29: TEXT_START_SYMBOLS='__Stext = ADDR (.startup);'
                     30:
                     31: # The __start dance is to get us through assumptions about entry
                     32: # symbols, and to clear _start for normal use with sane programs.
                     33: EXECUTABLE_SYMBOLS='
1.3       christos   34: __start = DEFINED(__start) ? __start :
                     35:   DEFINED(_start) ? _start :
1.1       christos   36:     DEFINED(start) ? start :
                     37:       DEFINED(.startup) ? .startup + 2 : 2;
                     38: '
                     39:
                     40: # Smuggle an "OTHER_TEXT_END_SYMBOLS" here.
                     41: OTHER_READONLY_SECTIONS="${RELOCATING+PROVIDE (__Etext = .);}"
                     42: DATA_START_SYMBOLS='PROVIDE (__Sdata = .);'
                     43:
                     44: # Smuggle an "OTHER_DATA_END_SYMBOLS" here.
                     45: OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}"
                     46:
                     47: # If .bss does not immediately follow .data but has its own start
                     48: # address, we can't get to it with OTHER_BSS_SYMBOLS, neither can we
                     49: # use ADDR(.bss) there.  Instead, we use the symbol support for the
                     50: # end symbol.
                     51: OTHER_BSS_END_SYMBOLS='
                     52:  PROVIDE (__Ebss = .);
                     53:  __Sbss = ADDR (.bss);
                     54:  PROVIDE (_bss_start = __Sbss);
                     55: '
                     56:
1.3       christos   57: INIT_ADDR='ALIGN (2)'
                     58:
1.1       christos   59: INIT_START='
                     60:  ___init__start = .;
                     61:  PROVIDE (___do_global_ctors = .);
                     62: '
                     63:
                     64: INIT_END='
                     65:  PROVIDE (__init__end = .);
                     66:  PROVIDE (___init__end = .);
                     67: '
                     68:
1.3       christos   69: FINI_ADDR='ALIGN (2)'
                     70:
1.1       christos   71: FINI_START='
                     72:  ___fini__start = .;
                     73:  PROVIDE (___do_global_dtors = .);
                     74: '
                     75:
                     76: FINI_END='
                     77:  PROVIDE (__fini__end = .);
                     78:  ___fini__end = .;
                     79: '
                     80:
                     81: CTOR_START='
                     82:  PROVIDE (___ctors = .);
                     83:  ___elf_ctors_dtors_begin = .;
                     84: '
                     85:
                     86: CTOR_END='
                     87:  PROVIDE (___ctors_end = .);
                     88: '
                     89:
                     90: DTOR_START='
                     91:  PROVIDE (___dtors = .);
                     92: '
                     93:
                     94: CTOR_END='
                     95:  PROVIDE (___dtors_end = .);
                     96:  ___elf_ctors_dtors_end = .;
                     97: '
                     98:
                     99: # Also add the other symbols provided for rsim/xsim and elinux.
                    100: OTHER_SYMBOLS='
                    101:   PROVIDE (__Eall = .);
1.3       christos  102:   PROVIDE (__Endmem = 0x10000000);
1.1       christos  103:   PROVIDE (__Stacksize = 0);
                    104: '
                    105: NO_SMALL_DATA=yes

CVSweb <webmaster@jp.NetBSD.org>