ba916c8af2
* ldexp.h (segment_type): New type. (segments): New variable. * ldexp.c (segments): New variable. (exp_print_token): Handle SEGMENT_START. (fold_binary): Likewise. * ldgram.y (SEGMENT_START): Declare it as a token. (exp): Handle SEGMENT_START. * ldlang.h (lang_address_statement_type): Add segment field. (lang_section_start): Change prototype. * ldlang.c (map_input_to_output_sections): Do not process section assignments if a corresponding SEGMENT_START has already been seen. (lang_section_start): Add segment parameter. * ldlex.l (SEGMENT_START): Add it. * lexsup.c (seg_segment_start): New function. (parse_args): Use it for -Tbss, -Tdata, and -Ttext. * ld.texinfo (SEGMENT_START): Document it. * emulparams/armsymbian.sh (EMBEDDED): Set it. * scripttempl/armbpabi.sc: Use SEGMENT_START to control segment base addresses. Do not map relocations. * NEWS: Mention SEGMENT_START.
15 lines
490 B
Bash
15 lines
490 B
Bash
. ${srcdir}/emulparams/armelf.sh
|
|
SCRIPT_NAME="armbpabi"
|
|
GENERATE_COMBRELOC_SCRIPT=1
|
|
OUTPUT_FORMAT="elf32-littlearm-symbian"
|
|
BIG_OUTPUT_FORMAT="elf32-bigarm-symbian"
|
|
LITTLE_OUTPUT_FORMAT="$OUTPUT_FORMAT"
|
|
TARGET1_IS_REL=1
|
|
TARGET2_TYPE=abs
|
|
# On BPABI systems, program headers should not be mapped.
|
|
EMBEDDED=yes
|
|
|
|
# This value should match ELF_MAXPAGESIZE in BFD. Otherwise, elf.c
|
|
# will not place read-write sections in a separate ELF segment from
|
|
# the read-only sections.
|
|
MAXPAGESIZE=0x8000
|