setglobal MACHINE = '' setglobal SCRIPT_NAME = 'elf' setglobal OUTPUT_FORMAT = '"elf32-rx-le'" # See also `include/elf/rx.h' setglobal TEXT_START_ADDR = '0x10000000' setglobal ARCH = 'rx' setglobal ENTRY = '_start' setglobal EMBEDDED = 'yes' setglobal TEMPLATE_NAME = 'elf32' setglobal EXTRA_EM_FILE = 'rxelf' # EXTRA_EM_FILE=needrelax setglobal ELFSIZE = '32' setglobal MAXPAGESIZE = '256' # This is like setting STACK_ADDR to 0xbffffffc, except that the setting can # be overridden, e.g. --defsym _stack=0x0f00, and that we put an extra # sentinal value at the bottom. # N.B. We can't use PROVIDE to set the default value in a symbol because # the address is needed to place the .stack section, which in turn is needed # to hold the sentinel value(s). test -z $CREATE_SHLIB && setglobal OTHER_SECTIONS = "" .stack $(RELOCATING-0)$(RELOCATING+(DEFINED(__stack) ? __stack : 0xbffffffc)) : { $(RELOCATING+__stack = .;) *(.stack) LONG(0xdeaddead) }"" # We do not need .stack for shared library. test -n $CREATE_SHLIB && setglobal OTHER_SECTIONS = ''"" setglobal OTHER_TEXT_SECTIONS = ''*(P)'' setglobal OTHER_READONLY_SECTIONS = ''C_1 : { *(C_1) } C_2 : { *(C_2) } C : { *(C) } W_1 : { *(W_1) } W_2 : { *(W_2) } W : { *(W) }'' setglobal OTHER_READWRITE_SECTIONS = ''D_1 : { *(D_1) } D_2 : { *(D_2) } D : { *(D) }'' setglobal OTHER_BSS_SECTIONS = ''B_1 : { *(B_1) } B_2 : { *(B_2) } B : { *(B) }''