aff1a65ecb
gas * config/tc-rl78.c (rl78_abs_sym): New local variable. (md_begin): Initialise the new symbol. (OPIMM): Define the value to be relative to the new symbol and not the absolute section symbol. ld * emulparams/elf32rl78.sh (OTHER_SECTIONS): Provide a value for the _-rl78_abs__ symbol. tests * gas/all/struct.d: Allow for extra symbols in the output. * gas/macros/test1.d: Likewise. * gas/elf/elf.exp: Add an rl78 machine. * gas/elf/sections2e-rl78: New file. tests * binutils-all/localize-hidden-1.d: Allow for extra symbols in the output. * binutils-all/strip-11.d: Skip for the RL78.
27 lines
910 B
Bash
27 lines
910 B
Bash
MACHINE=
|
|
SCRIPT_NAME=elf
|
|
OUTPUT_FORMAT="elf32-rl78"
|
|
# See also `include/elf/rl78.h'
|
|
TEXT_START_ADDR=0x00000
|
|
ARCH=rl78
|
|
ENTRY=_start
|
|
EMBEDDED=yes
|
|
TEMPLATE_NAME=elf32
|
|
ELFSIZE=32
|
|
# EXTRA_EM_FILE=needrelax
|
|
MAXPAGESIZE=256
|
|
# This is like setting STACK_ADDR to 0xffedc, 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" && OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(__stack) ? __stack : 0xffedc)} :
|
|
{
|
|
${RELOCATING+__stack = .;}
|
|
*(.stack)
|
|
LONG(0xdead)
|
|
}
|
|
${RELOCATING+PROVIDE (__rl78_abs__ = 0);}"
|
|
# We do not need .stack for shared library.
|
|
test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""
|